我一直在使用Boost的ASIO库进行网络和套接字通信。现在,在开发周期中,我要清理一下并使它们更加模块化。我的第一个想法是,我将只为网络通信部分使用一个单独的项目(实质上是分解出与Boost相关的内容),并在两个不同的Visual Studio解决方案中使用一个Visual Studio项目。就像是:

Client.sln
->  Client.vcxproj
->  Networking.vcxproj

Server.sln
->  Server.vcxproj
->  Networking.vcxproj


我试图这样做,但是由于我除了模板类之外什么也没有创建,因此Networking.vcxproj变成了仅标头的项目,这是我的问题。我理想地希望做的是将对boost预编译库的引用仅放在Networking.vcxproj中,并链接到Networking.vcxproj的输出。但是,如果我理解正确,则由于Networking.vcxproj没有.cpp文件,因此没有任何可链接的内容。

有什么方法可以链接到我的网络项目和boost ASIO库,而无需在所有项目中指定所有其他库依赖项?即是否有任何方法可以以某种方式创建项目设置,以使我不必每次创建使用Networking.vcxproj项目的新应用程序时都复制boost库依赖项?

最佳答案

试穿

#pragma comment(lib, "libname.lib")


在您的网络头文件之一中。这将强制任何包含该标头的项目链接到指定的库(名称为“ libname”)。

看到
pragma comment

10-08 08:17