c++ - Visual Studio 中的 Qt 应用程序 - 入口点

标签 c++ visual-studio qt visual-studio-2012 visual-studio-2015

我在 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”,应用程序将启动,但 argcargv 包含垃圾。好像是not possible在指定入口点时传递参数。

如何让它与 int main(int argc, char *argv[]) 一起正常工作?

由于库的原因,我正在使用 VS 2015 Community 和 MSVC 11 编译器 (VS 2012)。

最佳答案

我找到的解决方案是在配置属性-> 链接器-> 高级-> 入口点 中将入口点设置为mainCRTStartup。讨论了 mainmainCRTStartup 之间的区别 here .

这样一来,参数就被正确地传递给了主函数。

关于c++ - Visual Studio 中的 Qt 应用程序 - 入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43238422/

相关文章:

javascript - QT-Quick 中的 Javascript 中的 openDatabaseSync

c++ - 什么是规范地用来提及引用合并的词

c++ - 使用 RapidXML 解析

c++ - 当我可以在EXE上执行时,为什么不能编译DLL

c++ - 复制/加载后是否删除

python - 由于 qt,OpenCV cv2.imshow 无法正常工作

c++ - CRTP:表达式模板的编译器相关问题

c++ - const 运算符与 C++ 中的方法一起使用时意味着什么?

c++ - 在 C++ 中使用 C 库

visual-studio - 更改 Visual Studio 调试器日期格式