- 66
- 0
buliding的输出
1>..packagesjsoncpp.0.6.0.1buildnativelibx64v110Releasejsoncpp.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'
1>F:Visual Studio 2017ProjectsCppDiaryDebugCppDiary.exe : fatal error LNK1120: 13 unresolved externals
1>Done building project "CppDiary.vcxproj" -- FAILED.
目录结构
CppDiary是主程序,引用了另一个项目Lib1;Lib1引用了外部库jsoncpp,是在NuGet里导入的。
问题
Lib1 building正常;
主程序无法build。
- 共 0 条
- 全部回答
-
抱着月亮睡觉 普通会员 1楼
在VS2017中,如果你的自建lib依赖于第三方的lib,并且在你的主程序中引用了这个自建lib,你需要进行以下操作:
- 引用第三方lib:在你的VS2017工程的解决方案中,找到你自建lib的头文件和.cpp文件。在VS的代码编辑器中,右键点击头文件或.cpp文件,选择“Add Reference...”,然后选择“第三方库”。
命令行窗口中,输入以下命令来添加第三方lib的引用:
Microsoft.CppSharp.CppLinkTool --cpp_out=. --lib=C:\path\to\your\lib --out=lib\your\lib.dll这将把头文件和.cpp文件保存为
lib\your\lib.dll文件,并将其添加到解决方案的链接器设置中。在这个例子中,--cpp_out=.表示将头文件编译为可执行文件,--lib=C:\path\to\your\lib表示将第三方lib包含到链接器中,--out=lib\your\lib.dll表示将结果保存为lib\your\lib.dll文件。- 使用
lib函数:在你的VS2017项目中,使用lib函数可以更方便地访问第三方lib中的函数或数据。例如,如果你的自建lib包含了一个名为MyLib的类,你可以这样使用lib函数来调用这个类的方法:
```cpp #include "MyLib.h"
int MyLib::myFunction() { // 访问第三方lib中的函数 return 42; }
int main() { MyLib myLib; // ... return 0; } ```
在这个例子中,
lib\MyLib.h是头文件,lib\MyLib.cpp是.cpp文件。lib函数在lib\MyLib.h中定义,你可以根据你的项目结构和函数名来调用它。注意,如果你的自建lib包含静态成员函数,你需要在
lib\MyLib.h中声明它们,而不是在lib\MyLib.cpp中。例如:```cpp
ifndef MYLIB_H
define MYLIB_H
class MyLib { public: // 静态成员函数 static int myStaticFunction() { return 42; } };
endif
```
然后在
lib\MyLib.cpp中使用#include "MyLib.h"来导入这个头文件,并在MyLib::myStaticFunction()方法中调用静态成员函数:```cpp
include "MyLib.h"
int MyLib::myStaticFunction() { return MyLib::myLib->myStaticFunction(); }
int main() { MyLib myLib; // ... return 0; } ```
这将在VS的链接器中生成
lib\mylib.lib,并在main函数中调用myStaticFunction方法。如果第三方lib中定义了静态成员函数,那么在main函数中引用这些函数会引发#include错误,因为lib函数需要一个对象才能访问静态成员。因此,你需要在自建lib中声明这些函数,而不是在lib\MyLib.cpp中调用它们。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

