1

嗨,我正在尝试将两个 Visual Studio 解决方案文件合并为一个,并且我一直很难将一个项目调用到另一个项目。

  • 我有包含项目 A 的解决方案 X,它是一个控制相机的控制台应用程序。
  • 我有另一个包含项目 B 的解决方案 Y 为另一个应用程序生成一个 dll 来显示绘图。

在将这两个项目组合在一个解决方案下之后,我将项目 A 设置为项目 B 调用驻留在项目 A 中的函数的静态库。

在 Project BI 上添加了 Project A 的引用,还添加了 Project A 的包含文件的路径。

我可以独立构建项目 A,但我无法构建项目 B。Visual Studio 抱怨如下:

 Severity   Code    Description Project File    Line    Suppression State
 Error  LNK1120 1 unresolved externals  XOP3    
 C:\Users\xxx\Documents\project\pvcam_project\XOP3\VC\XOP3-64.xop   1   

 Severity   Code    Description Project File    Line    Suppression State
 Warning    LNK4098 defaultlib 'LIBCMT' conflicts with use of other libs; 
 use /NODEFAULTLIB:library  XOP3    
 C:\Users\xxx\Documents\project\pvcam_project\XOP3\VC\LINK  1   

 Severity   Code    Description Project File    Line    Suppression State
 Error  LNK2019 unresolved external symbol pl_pvcam_get_ver referenced in 
 function "void __cdecl DoWave(void * *)" (?DoWave@@YAXPEAPEAX@Z)   XOP3    
 C:\Users\xxx\Documents\project\pvcam_project\XOP3\VC\XOP3.obj  1   

我以此为例并能够构建 https://msdn.microsoft.com/en-us/library/ms235627(v=vs.90).aspx

我想知道:

  1. 将项目 A 作为项目 B 访问的静态库是个好主意吗?项目 A 应该是 dll 吗?
  2. 从解决方案 YI 添加了一个项目 A 并通过以下方式更新了包含文件等的位置(如何合并两个不同的 Visual Studio 解决方案?)这是合并两个解决方案的最简单方法吗?
  3. 最后,这是最重要的一个,我不知道如何解决编译错误。

非常感谢您查看我的问题。

4

0 回答 0