我在 Qt 中有一个控制台应用程序,我想在 Visual Studio 中执行它,因此我可以使用它的分析器。
我正在使用一个名为 Qt VS Tool 的插件,它似乎已正确导入项目。我还可以创建一个新的 Qt 项目,它运行良好。
然而,在我导入的这个应用程序中,VS 似乎正在搜索 WinMain 函数作为入口点而不是 main,即使“子系统”设置为 Console (/SUBSYSTEM:CONSOLE)
在 Configuration Properties -> Linker -> System -> SubSystem 中。
我收到这个错误:
LNK2019 unresolved external symbol WinMain referenced in function __tmainCRTStartup
如果我在 Configuration Properties -> Linker -> Advanced -> Entry Point 中手动将入口点更改为“main”,应用程序将启动,但 argc
和argv
包含垃圾。好像是not possible在指定入口点时传递参数。
如何让它与 int main(int argc, char *argv[])
一起正常工作?
由于库的原因,我正在使用 VS 2015 Community 和 MSVC 11 编译器 (VS 2012)。
最佳答案
我找到的解决方案是在配置属性-> 链接器-> 高级-> 入口点 中将入口点设置为mainCRTStartup
。讨论了 main
和 mainCRTStartup
之间的区别 here .
这样一来,参数就被正确地传递给了主函数。
关于c++ - Visual Studio 中的 Qt 应用程序 - 入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43238422/