提问人:Foryxled_Dev 提问时间:9/17/2023 最后编辑:Eric PostpischilForyxled_Dev 更新时间:9/17/2023 访问量:52
如何在 c++ 中将不参数传递到 pragma 注释中
How to pass no argument into pragma comment in c++
问:
我希望我的程序在检测到解决方案配置为调试时显示控制台窗口。如果检测到释放,则不应显示控制台窗口
#include "Window.h"
int main(int argc, char* argv[]) {
Window Game;
#if defined(_DEBUG)
#pragma comment(linker, "/SUBSYSTEM:console /ENTRY:")
Game.run();
#else
#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")
Game.run();
#endif
}
上面的源代码不起作用,因为:
LNK1146 no argument specified with option '/ENTRY:'
所以我想知道如何在 #pragma 注释中传递任何参数(或者只是一般地改进此源代码)
(使用 Visual Studio 2023 和 C++ 20)
任何帮助都是值得赞赏的!
答:
2赞
ChrisB
9/17/2023
#1
MSVC 的 /ENTRY
标志必须始终后跟 。因此,如果您想保留默认值,请不要在这种情况下通过::function_name
/ENTRY
#include "Window.h"
int main(int argc, char* argv[]) {
Window Game;
#if defined(_DEBUG)
#pragma comment(linker, "/SUBSYSTEM:console")
Game.run();
#else
#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")
Game.run();
#endif
}
评论
/ENTRY