我最近写qt,我是在qtcreat下调用vs2010的工具链。出现问题的地方是注册表操作。代码已经扒出来,新建一个项目单独测试,确定不是其它地方的问题。
光简单的一句打开注册表RegOpenKeyEx。编译通过链接错误。
LNK2019:无法解析的外部符号 __imp__RegOpenKeyExW@20
有什么lib没链接进去。然后我发现加target=vcapp转成vs工程再用vs去生成就能正常通过。
于是我想到去比较对应qmake.conf内容和vs工程设置里有什么不同。但没结果,对照命令行没看出少了什么,vs里链接的lib好像qmake.conf里也有。
想想还是来这请教下高手,谁能告诉我RegOpenKeyEx这函数使用要依赖哪个lib?

解决方案 »

  1.   

    Requirements
    Client Requires Windows Vista, Windows XP, or Windows 2000 Professional. 
    Server Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server. 
    Header Declared in Winreg.h; include Windows.h.
     
    Library Use Advapi32.lib.
     
    DLL Requires Advapi32.dll.
     
    Unicode Implemented as RegOpenKeyExW (Unicode) and RegOpenKeyExA (ANSI).
     
      

  2.   

    谢谢。msdn上搜了下也确实就是只有这个lib。
    查出来我没理解那个qmake配置文件。被QMAKE_LIBS_CORE QMAKE_LIBS_GUI这样的忽悠了,把lib写在QMAKE_LFLAGS后面就好了。
    生成成功。问题解决,结帖。谢谢两位。