我正在尝试关注this guide 为WxWidgets配置VC ++。我被困在这里。
因此对于Core wxWidgets libraries to include
,我确实在链接器>>输入>>其他依赖项下包含了wxmsw31u[d]_core.lib
和wxbase31u[d].lib
。这一切都正确吗?
关于Linking with correct runtime library
,有人能告诉我这是怎么做到的吗?我设法到达这里,但不知道如何设置指示的设置。
请帮忙。我真的很感激。
答案 0 :(得分:0)
如果要调试应用程序,调试器必须知道编译代码中每个函数的使用位置。用行话,“调试符号”。 Windows将这些符号放在已编译的可执行文件中,而Linux使用另一个.dev
文件。
当您编译代码(您的应用程序或wxWidgets库)时,您必须告诉编译器您是否需要“调试”版本或“发布”版本。
如果您希望调试器能够进入wxWidgets代码,则必须在“调试”模式下编译wxWidgets,这将将字符d
添加到构建的库文件中。因此,您必须将wxmsw31ud_core.lib
添加到您的应用依赖项中。请注意d
和u
之间的_
。使用文件资源管理器查看wxWidgets编译过程生成的所有文件。
也许你不希望所有这些wxWidgets都“调试”。然后使用另一个wxWidgets编译路由并添加wxmsw31u_core.lib
而不是d
'd版本。您仍然可以在调试模式下编译自己的应用程序,但无法单步执行wxWidgets内部。
现在为你的应用程序,a)你想要一个也包含wxWidgets代码的可执行文件吗?或者b)将您的应用放在.exe
文件中,该文件根据需要使用外部.dll
文件?
a)被称为“静态联动”,而b)被称为“动态联动”
正如您所看到的,有四种调试/发布和组合的组合。静态/动态。您必须选择一个“运行时库”链接到您的应用程序。
wiki中的表格显示了交换机和MSVC lib(在“属性”页面中选择所需的组合)以在您的应用中使用;如果使用nmake
而不是VS中已提供的配置,则构建wxWidgets所需的宏定义。
查看 docs \ msw \ install.txt 了解更多信息。
我给出的最好建议是你研究“最小”样本项目。将其加载到VS并读取每个选项。您甚至可以制作副本,更改一些文件名并将其用于您自己的应用程序。
答案 1 :(得分:0)
我建议使用official instructions而不是wiki,它们更简单,如果查看最后一段,您可以看到您甚至不必手动将库与MSVC链接。< / p>
你也不需要做任何特别的事情来链接正确版本的CRT,默认设置就好了。