使用 qmake 生成对 MS VS 有额外依赖关系的 makefile
Posted
技术标签:
【中文标题】使用 qmake 生成对 MS VS 有额外依赖关系的 makefile【英文标题】:generate makefile with qmake that have additional dependency for MS VS 【发布时间】:2013-01-11 08:03:21 【问题描述】:我有一个使用 qmake (qmake -tp vc) 制作的 Visual Studio 项目,它是一个 lib,它使用 win32 套接字函数 (setsockopt),所以我需要包含“Ws2_32.lib”。
但是如果我做类似的事情
POST_TARGETDEPS += Ws2_32.lib
它没有写入 Visual Studio 项目文件。对我来说问题是,我几乎没有包含此库的应用类型项目,如果我不需要在 .pro 文件中为这些项目设置额外的行,我会更好。
所以我的问题是,我需要在 .pro 文件中使用什么指令/变量,所以 lib 依赖关系在 Visual Studio 项目文件中结束?
已解决: 我没有找到如何为具有附加依赖项的 lib 创建 Visual Studio 项目文件,但作为解决方法,我在 .pri 文件中添加了 LIB 定义,该文件包含在所有应用程序类型项目中,因此我不需要将此 lib 添加到每个手动项目。
【问题讨论】:
【参考方案1】:使用LIBS
:
win32:LIBS += -lWs2_32
【讨论】:
这是我的第一次尝试,但没有帮助。没有帮助是指它没有添加到 VS 项目的“附加依赖项”列表中(当然是在重新生成项目文件之后) 为我工作。在使用 LIBS 之前和之后,您是否有解决方案/项目文件的差异? 不,我没有那个项目。它适用于 exe ("TEMPLATE = app") 但不适用于 lib ("TEMPLATE = lib") 包含这个库时,当然还有其他项目,但我想生成包含“ws2_32”库的VS项目文件,并且作为独立库它没有任何其他.pro(或其他类型)的项目包括。 如果我理解正确,您想继续传播 Ws2_32 到其他应用程序吗?由于链接器需要此 Ws2_32,因此不能只为库指定它。一种解决方法是将它放在一个简单的 mylib_deps.pri 中,然后从其他 .pro 文件中包含该 .pri。以上是关于使用 qmake 生成对 MS VS 有额外依赖关系的 makefile的主要内容,如果未能解决你的问题,请参考以下文章
项目消息:您正在对生成的 .pro 文件运行 qmake。这可能行不通