`

c++在vs中一个解决方案多个个project互相调用

    博客分类:
  • c++
 
阅读更多

 c++在vs中一个解决方案多个个project互相调用

最近在做C++的时候发现一个解决方案中需要使用到多个project,并且这些project能互相调用。这样做的好处既能把不同功能的文件分类又容易修改程序。出现的问题是新建这些项目的时候如何把这几个project互相配置好。

 首先,新建多个项目,把其中一个项目作为启动项,如下图。

 包含4个项目,其中cexe是启动项,libalg,libemo和util是互相依赖的project。然后在cexe中,选择属性-》通用属性,选择添加新引用,把这三个项目引入进去,如下图


 然后把另外三个project配置成静态项,具体步骤如下点击这个项目选择属性,接下来的 操作如下图。


到这里配置就完成了。

另外如果运行报error LNK2019: 无法解析的外部符号 XXXX,该符号在函数 XXX6 中被引用的错误,可能是这几个项目的引用的头文件不能互相访问。解决方案如下方。把各种头文件的引入导入即可,如下图。

 

 
 这样就完成了。

  • 大小: 15.4 KB
  • 大小: 73.3 KB
  • 大小: 80.9 KB
  • 大小: 80.9 KB
  • 大小: 103.2 KB
分享到:
评论

相关推荐

    VS一个工程两个项目调试动静态链接库示例

    在Visual Studio(VS)开发环境中,创建一个工程并包含两个项目,一个是用于生成动态链接库(DLL)或静态链接库(LIB),另一个是用于调试的主程序,这样的配置可以帮助开发者理解如何在C++项目中使用这两种类型的库...

    (图解)解决方案、项目、程序集、命名空间区别

    项目(Project)是解决方案中的一个基本单元,可以是一个控制台应用程序、Windows 应用程序、类库、Web 应用程序、Web Service、Windows 控件等等。一个项目可以被编译为.exe 文件或.dll 文件,如果是.exe 文件,则...

    Project1_C++_

    在本项目"Project1_C++_"中,我们探讨了一个典型的仓库机器人问题的解决方案,这个问题主要涉及计算机编程,尤其是C++语言的应用。C++是一种强大的、面向对象的编程语言,广泛用于系统软件、应用软件、游戏开发以及...

    C++Builder Printer打印机程序

    通过以上分析,我们可以看出C++Builder打印机程序的设计涵盖了C++编程基础、图形用户界面设计、打印功能实现、代码互操作等多个方面,是C++Builder应用开发的一个典型实例。开发者不仅需要掌握C++语言,还需要熟悉...

    MultiProj项目

    在Visual Studio中,一个解决方案(Solution)可以包含多个项目(Project),每个项目可能有不同的目标,如生成动态链接库(DLL)、静态链接库(LIB)或可执行文件(EXE)。这种结构允许开发者将复杂的应用程序分解...

    C++软件

    - **设计模式** 是一种经过验证的解决方案,用于解决在软件设计中反复出现的问题。 - 它们提供了一种标准化的方法来处理常见问题,提高了代码的可读性和可维护性。 - 设计模式不是银弹,应该根据项目的具体情况来...

    差分进化算法C++代码

    1. **种群初始化**:算法首先随机生成一个初始种群,每个个体代表一个可能的解决方案,通常以向量形式表示,对应于问题的决策变量。 2. **适应度函数**:定义一个函数来评估每个个体的优劣,通常为目标函数值的负值...

    微软的Visual C++ 2005资料

    - **解决方案和项目**:Visual C++ 2005使用解决方案(Solution)和项目(Project)的概念组织代码,便于大型项目的管理。 - **构建配置**:支持多平台和多配置构建,如Debug和Release模式。 **8. 设计模式和最佳...

    C++程序设计教学课件:CHAPTER 2 VISUAL C++ 6.0 INTRODUCTION.ppt

    在Visual C++ 6.0中,项目是组织源代码的基本单位,而工作区是一个容器,它可以包含一个或多个项目,并且可以配置项目的编译设置。通过工作区,开发者能够轻松管理多项目开发,并保持文件结构清晰。 此外,MSDN...

    VC6.0中,创建、调用 dll

    3. 在解决方案资源管理器中,右键点击项目,选择“添加”->“新建项”,选择“C++类”,输入类名,如`MyDllClass`,并勾选“添加到项目”。 4. 在生成的`.cpp`和`.h`文件中编写DLL函数。例如,在`MyDllClass.h`中...

    TESTDLLALL.zip

    在“TESTDLLALL.sln”中,我们可以看到这是一个Visual Studio解决方案文件,它包含了多个项目的配置信息。"Debug"目录则包含编译后的调试版本的可执行文件和库。"TESTDLLALL"可能是主程序项目,而"Project1"和"Dll1...

    premake 解决方案小工具

    以下是一个简单的Premake Lua脚本示例,它定义了一个名为"MyProject"的项目,包含了多个源文件,并设置了编译和链接选项: ```lua workspace "MyWorkspace" configurations { "Debug", "Release" } project ...

    一、JAVA调用海康威视SDK实现摄像头预览

    JNA允许JAVA程序直接调用C/C++级别的函数,而JNI则需要编写C/C++的本地方法库,然后在JAVA中通过接口调用。对于海康威视的SDK,推荐使用JNA,因为它的使用更为简单且无需编译原生代码。 预览功能的实现主要包括以下...

    libqrencode_c++.zip

    在“libqrencode.sln”文件中,我们可以看到一个Visual Studio解决方案,它包含了项目的配置信息,用于编译和链接libqrencode库。这个解决方案文件是Windows环境下开发的重要工具,它允许开发者使用IDE来管理和构建...

    BCB调用VC的DLL

    - 解决方案是创建一个`.def`文件,定义DLL中导出的函数及其别名,并将其添加到BCB项目中。 ```cpp LIBRARY XXX.DLL IMPORTS @BCBLoadVCWin32Fastcall=VCWIN32.@BCBLoadVCWin32Fastcall@0 _BCBLoadVCWin32Cdecl=...

    C++入门经典代码!!!

    6. **继承与多态**:继承允许一个类(子类)继承另一个类(父类)的属性和方法,多态则提供了在不同对象上统一调用方法的能力。 7. **模板与泛型编程**:模板可以创建泛型函数或类,以处理不同类型的数据。 8. **...

    Project1.zip

    这个过程在C++代码中可能表现为一个概率性的函数调用。 在实际应用中,用户需要自定义main函数来驱动这些步骤,设定迭代次数、种群大小、交叉概率和变异概率等参数。同时,为了将遗传算法与深度学习或人工智能结合...

    VTK的C++代码CXX

    在给定的代码片段中,我们首先看到的是一个项目定义`PROJECT(VTKBOOK)`,这标志着项目的开始。紧接着是CMake的模块引入`INCLUDE(${CMAKE_ROOT}/Modules/FindVTK.cmake)`,这是为了寻找和配置VTK库。`FindVTK.cmake`...

    1394camera_project.zip_project

    1394相机项目是一个基于Visual C++的开发实例,主要关注于利用1394接口(也称为FireWire或i.Link)与数字相机进行通信和数据传输。这个项目的重点在于设计和实现一个能够有效控制和捕获图像的软件应用程序。 在1394...

Global site tag (gtag.js) - Google Analytics