qt main.obj:

您所在的位置:网站首页 main函数参数解析 qt main.obj:

qt main.obj:

#qt main.obj:| 来源: 网络整理| 查看: 265

编译qmake时报错: main.obj:-1: error: LNK2019: 无法解析的外部符号 __imp_CommandLineToArgvW,该符号在函数 "int __cdecl dumpMacros(wchar_t const *)" ([email protected]@[email protected]) 中被引用

qt代码中调用了CommandLineToArgvW函数,而CommandLineToArgvW是windows中shell32.lib中的函数,缺乏系统库。

只需要在.pro文件中加入  LIBS+=-lshell32

qt中系统库的路径由build Environment中的LIB进行设置;系统库的头文件路径由build Environment中的INCLUDE进行设置;可执行程序的路径由Path进行设置。

比如shell32.lib的路径为“C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x64”,需要将“C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x64;”放入LIB中。 比如iostream头文件的路径为“c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include”,需要将“c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\iostream;”放入INCLUDE中。 比如rc.exe的路径为“C:\Program Files (x86)\Windows Kits\10\bin\x86”,需要将“C:\Program Files (x86)\Windows Kits\10\bin\x86;”放入Path中。

LIB、INCLUDE都是cl.exe编译程序时会默认依赖的路径,库和头文件会分别从这两者中找。而Path是qt程序都会依赖的,找dll会从Path指定的路径里面找,dll还有操作系统默认查找路径:“C:\Windows\SysWOW64”。qt中还可以通过qt.conf来配置插件路径。

Using QApplication::addLibraryPath() or QApplication::setLibraryPaths(). This approach is recommended if you only have one executable that will use the plugin.

在qt中设置的环境变量不会改变系统环境变量,且只对当前qt工程有效,其值记录在工程目录下的*.pro.user中。更换工程之后需要重新设置。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3