Bea*_*ear 16 qt qmake visual-c++
我的Qt项目有两个相同名称但在不同文件夹中的源文件.专业文件是:
SOURCES = A/Test.cpp
SOURCES += B/Test.cpp
Run Code Online (Sandbox Code Playgroud)
它可以产生通过Qt的Visual Studio的插件Visual Studio解决方案文件,但它不会工作,因为生成的目标文件具有相同的名称:Test.obj.这将导致LNK2001未解析的外部符号,因为其中一个Test.obj被覆盖.
如何编写适当的专业文件来处理?
ale*_*sdm 15
您可以尝试将该行添加到.pro文件中:
CONFIG += object_with_source
Run Code Online (Sandbox Code Playgroud)
但正如选项名称所暗示的那样,.obj文件将不会在源外/"影子构建"目录中创建.
该选项已object_parallel_to_source在Qt 5中取代,它应该与阴影构建一起使用.
您应该考虑将解决方案拆分为多个项目,但这取决于每个文件夹是否可以代表一个项目。如果您选择此解决方案,则必须为每个项目编写一个 .pro 文件。通常的方法是编写一个“通用”*.pri 文件,该文件包含在每个 *.pro 文件中:
文件夹1.pro
TEMPLATE=lib
TARGET=folder1
include( ../common.pri )
Run Code Online (Sandbox Code Playgroud)
文件夹2.pro
TEMPLATE=lib
TARGET=folder2
include( ../common.pri )
Run Code Online (Sandbox Code Playgroud)
common.pri(在父目录中)
SOURCES += *.cpp
HEADERS += *.h
# etc.
Run Code Online (Sandbox Code Playgroud)
显然,每个 pro 文件的内容取决于您的解决方案。
如果您不想将源文件拆分为多个项目,我想更简单的解决方案是重命名冲突的文件。
| 归档时间: |
|
| 查看次数: |
4028 次 |
| 最近记录: |