Visual Studio C ++创建包含多个项目的解决方案。使用Dll或Libs互相交谈?

时间:2017-07-06 23:54:26

标签: visual-studio visual-studio-2010 visual-c++ visual-studio-2012 visual-studio-community

您好我正在尝试将两个visual studio解决方案文件合并为一个,并且我很难将一个项目调用到另一个项目。

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

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

在项目B上,我添加了项目A的参考,并添加了项目A的包含文件的路径。

我可以独立构建Project A,但我无法构建Project 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. 从解决方案Y我添加了一个项目A并通过以下(How do I merge two different Visual Studio solutions?更新了包含文件等的位置)这是合并两个解决方案的最简单方法吗?
  3. 最后,最重要的是我不知道如何解决编译错误。
  4. 非常感谢您查看我的问题。

0 个答案:

没有答案