警告:已激活自动导入,但未在命令行上指定--enable-auto-import

时间:2011-12-04 12:33:13

标签: c++ qt dll

我的环境:

  • Qt Creator 2.3.1
  • Qt 4.7.4(32位)
  • Windows 7旗舰版(64位)

在尝试使用Qt for Windows重建项目时,我发出以下编译器警告:

  

警告:没有激活自动导入    - 命令行中指定的--enable-auto-import。这应该工作,除非它涉及引用符号的常量数据结构   自动导入的DLL。

发出此警告的项目包含DLL文件。尽管有警告,但可以访问DLL中的类和函数。

警告是什么意思?如何解决?

2 个答案:

答案 0 :(得分:3)

这是MingW特定的警告,告诉您隐式链接了几个动态库。那完全没问题。要解决这个问题,您可以按照警告告诉您的方式执行操作并指定选项:

g++ -o prog file1.o file2.o --enable-auto-import
                            ^^^^^^^^^^^^^^^^^^^^

(顺便说一下,如果您要为Windows分发可执行文件,您可能还想与-static-libgcc-static-libstdc++链接以避免依赖编译器的运行时库。)

答案 1 :(得分:0)

如果您使用Code :: block环境,则必须执行以下操作:

以下步骤将为特定的CodeBlocks项目添加“ -Wl,-enable-auto-import”选项:

  1. 在CodeBlocks中打开您的项目。
  2. 打开菜单“项目”->“构建选项”
  3. 进入“链接器设置”标签
  4. 在“其他链接选项”文本框中,     键入“ -Wl,-启用自动导入”

要将此选项默认添加到ALL项目中,请按照以下步骤操作:

  1. 转到菜单“设置”->“编译器和调试器...”
  2. 选择您的编译器(GNU GCC编译器)
  3. 进入“链接器设置”标签
  4. 在文本框“其他链接选项”中,键入“ -Wl,-启用自动导入”