[c++]project reference and link

visual sutio 2022, c++的一个小问题;
当项目a对项目b(编译结果是一个dll)产生依赖的时候(在project dependency中设置),我们默认是a在project properties里面设置了link library dependencies,a在编译的时候会link b的lib;
我遇到的情况就是不会。。。进而出现unresolved external symbol
最后直接看link的命令行以及修改vcprojct文件来解决;

check link command line

如果想要link一个lib,那么在project property->linker->command line中就会看到要link的所有lib;
这个时候就会发现没有b.lib;

尝试project dependency

可以在project右键菜单里,找到build dependency里面project dependency里面,选择要depend的项目b;
之前经验就是ok了;
但是我这里就还是不行

修改vcproj文件

stack overflow上面说,这个情况在使用makefile的时候常常出现。
所以直接修改更加直接:

 <ItemGroup>
    <ProjectReference Include="..\..\xxx.vcxproj">
      <Project>{7ae6c5cf-9ed6-4b7b-97c3-6be01df6c991}</Project>
    </ProjectReference>

这个模块里面添加project reference
done!!

引用\[1\]:这个错误是在Visual Studio中遇到的一个问题,错误代码为LNK1168。这个错误的原因是无法打开指定的可执行文件进行写入。通常情况下,这个错误是由于之前的调试过程中出现了问题导致的,比如编译过程中中断或者文件丢失。解决这个问题的方法是创建一个新的项目,并将代码复制到新项目中。\[1\] 引用\[2\]:这个错误是在Visual Studio中遇到的另一个问题,错误代码为LNK2019。这个错误是由于无法解析外部符号引起的,具体是在函数"test"中引用了一个未定义的符号"class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl s1(void)"。这个错误通常是由于缺少对应的库文件或者函数定义引起的。解决这个问题的方法是确保引用的符号在代码中有正确的定义或者链接对应的库文件。\[2\] #### 引用[.reference_title] - *1* [错误 LNK1168 无法打开 C:\Users\huzx\source\repos\数据结构代码\Debug\栈的基本操作.exe 进行写入](https://blog.csdn.net/weixin_51235620/article/details/115014530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2019 无法解析的外部符号 “class std::basic_string,...](https://blog.csdn.net/weixin_41193628/article/details/121382575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值