如何在MS Visual C ++中管理项目相互依赖性?

时间:2013-10-14 14:06:45

标签: visual-c++

可能是一个非常基本的问题。在MSVC ++中开发单项目解决方案时,一切都很有意义,编译器可以看到每个文件。当转向多项目解决方案时,管理项目依赖性的界面元素似乎都没有意义(来自.net背景。)

对于初学者来说,似乎设置项目依赖关系,该术语似乎只暗示项目编译的顺序。没有更多的功能附加到定义和一个项目的寻址对象或方法将无法工作。 #include依赖项的标题似乎也不起作用,因此依赖项目无法查看其依赖项的文件。将标题的链接从一个项目复制到另一个项目也不起作用,其中两个项目位于'标题文件'部分,两个位置都引用相同的文件。即使使用此标头引用也不起作用且文件未连接。创建函数依赖关系的唯一方法是将依赖关系的路径添加到依赖关系的链接器/编译器搜索路径,或者更糟糕的是,只需将一个项目的文件复制到另一个项目。

要么我错过了什么,要么.NET Visual Studio IDE在VC ++ IDE严重失败的情况下取得了成功。

修改

为了提出具体问题,请按照以下步骤在VC ++中创建解决方案,并询问是否可以填写缺失的步骤:

  1. 在新解决方案中创建空DLL项目。
  2. 在DLL项目中创建方法并编译。
  3. 创建新的空可执行项目。
  4. 在新项目中创建主要方法。
  5. ...
  6. 在DLL项目中有主方法调用函数。
  7. 最好用最现代/行业标准/最佳实践方法填写缺失的步骤,以最好地保持项目模块化。

    从此我希望能够独立地在DLL类中推断和创建类,枚举等,并在可执行项目中访问它们,只要我能够知道如何完成它。< / p>

1 个答案:

答案 0 :(得分:1)

在步骤2中,按照通常的C ++规则,在标题中声明方法。阅读__declspec(DllExport),因为默认情况下方法是DLL内部的。

在步骤5中,按照通常的C ++规则,包含标题。 Visual C ++需要知道标头的来源,因此您需要引用源项目。 Visual Studio版本之间的详细信息各不相同。

在步骤6中,您以正常方式调用方法。由于它现在被声明为__declspec(DllImport),编译器将把它留给链接器,链接器将从正确的DLL中获取它。