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!!