visual studio在主工程中导入静态库工程

 又他妈的一个上午浪费到这样一个无意义的事情中了。fuck!
 需求:我需要将别人的vs工程导入到自建的工程文件中,就是已经获取了别人的vs工程的源码,要把它当做一个静态库使用。
 这个问题,可能太简单,以至于网上在这里语焉不详。本人是使用vs的小白,今天才开始用,且是情非得已。平时,用这么大的ide,有必要吗。
 这个问题可以转换为另一个等同的需求,自建一个库,怎么导入到主工程里?
 第一步,创建一个静态库。名字叫common。按照[1]的操作来,先创建一个空工程,右击property->General,修改Configuration Type为lib。如图:
在这里插入图片描述
 common里创建两个示例文件。使用一个宏定义,可以在Property->C/C++->Preprocessor中增加一个CONDITION_1。
common.h

#ifndef _COMMON_H_
#define _COMMON_H_
#include<string>
namespace zsy{
	class Shit{
	public:
		void Print(std::string name);
	};
}
#endif

common.cc

#include "common.h"
#include <iostream>
using namespace std;
namespace zsy {
	void Shit::Print(std::string name){
#if defined CONDITION_1
		std::cout <<"condition_1 " <<name << std::endl;
#else
		std::cout << "condition_2 " << name << std::endl;
#endif
		
	}
}

 第二步,另创建一个工程,名字叫example。File->New->Project->Templates->Visual C++->Empty Project. 增加一个test.cc的源文件。
test.cc

#include<iostream>
#include<string>
#include<string.h>
#include "common.h"
using namespace std;
using namespace zsy;
int main() {
	std::string name = std::string("hello world!");
	Shit shit;
	shit.Print(name);
	getchar();
	return 0;
}

 将common工程增加到主工程里。File->Add->Existing Project,把common.vcxproj导入。但是此时,test.cc中引入的common.h文件标红,没有找到,需要添加include路径。可以在Include Directories中添加,如图。
在这里插入图片描述
 要是这个时候build solution,会有一堆unresolved symbols的警告,common库中的函数没有编译进出,需要添加reference。右击example工程,‘add->reference’,选择common。
 但是这个绝对路径配置,不利于工程的转移。可以采用相对路径../../common/common/
 增加最终文件输出路径。
在这里插入图片描述
 最终的代码下载[2]
[1]vs下制作和使用.lib静态库
[2]vs static lib https://github.com/SoonyangZhang/visual-studio-example

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 Microsoft Visual C++ 导入别人的工程(也称为项目)通常涉及到几个步骤,以便在自己的环境能够编译和使用对方的代码: 1. **获取源代码或工程文件**:首先,你需要从原始开发者那里获得他们的工程文件。这通常是一个`.vcxproj`(Visual Studio 2015及以后版本)或`.vcproj`(早期版本)文件,还可能有相关的`.cpp`, `.h`, `.lib` 或 `.dll` 文件。 2. **复制文件**:将获取的工程文件和相关的源代码文件复制到你的Visual C++项目的目录下。 3. **添加项目依赖**:在Visual Studio,右键点击你的项目,选择“添加/现有项目”或“添加引用”,然后导航到包含外部工程文件的文件夹。在那里,选择相应的项目,勾选“附加到解决方案”选项,这样Visual Studio就会知道如何处理这个外部项目。 4. **配置链接器设置**:如果对方项目包含静态库,可能需要在你的项目属性配置“链接器”->“输入”->“附加依赖项”,添加对方库文件。如果是动态库(.dll),你还需要在“链接器”->“输入”->“附加库目录”添加包含动态库的路径。 5. **解决头文件路径问题**:确保所有头文件路径都在你的项目设置正确配置,以便编译器能找到它们。 6. **编译和调试**:最后,尝试编译并运行你的项目,看看是否能成功链接和使用外部工程的功能。如果出现任何编译错误,检查头文件、链接设置和项目依赖关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值