从命令行参数设置MSVC预处理器的选项

时间:2018-06-04 16:31:17

标签: c++ windows visual-c++ c-preprocessor

我正在构建一个简单的C ++应用程序,需要从命令行使用Visual C ++ Build Tools,有时需要将应用程序作为Gui App,有时需要作为控制台应用程序。

我生成的版本的控制代码在这里:

var instance = M.Tabs.init(el, options); // Initialization
var instance = M.Tabs.getInstance(elem); // Method
instance.select('tab_id')                // show Tab

我看过一些关于将CFLAGS与make文件一起使用的帖子,但我不确定如何将其转换为我正在做的事情。

我有一个批处理脚本来设置环境,然后用这一行构建这个可执行文件:

int WinGUI = 1;
// The following if statement determines whether we are compiling a console
// application, like python.exe, or a windows gui application, like wpython.exe
#if WinGui == 1
int APIENTRY wWinMain(
    _In_ HINSTANCE hInstance,
    _In_opt_ HINSTANCE hPrevInstance,
    _In_ LPWSTR    lpCmdLine,
    _In_ int       nCmdShow
) {
  // define aliases for the gui version of argc and argv
    int argc = __argc;
    wchar_t **argv = __wargv;
#else
int wmain(int argc, wchar_t **argv) {
#endif

是否可以设置Comamnd线路开关来控制此预处理器指令,从而确定是否构建了可执行文件的命令行或gui版本?

0 个答案:

没有答案