当前位置:首页 > 芯闻号 > 充电吧
[导读]我使用的是ubuntu  12.04 编程环境是eclipse 呵呵,闲话少叙开始说静态库的生成设置吧三个步骤1.在一个头文件中声明需要导出的函数的函数2.在一个源文件当中实现需要导出的函数3.编译源

我使用的是ubuntu  12.04 编程环境是eclipse 呵呵,闲话少叙开始说静态库的生成设置吧

三个步骤

1.在一个头文件中声明需要导出的函数的函数

2.在一个源文件当中实现需要导出的函数

3.编译源文件生成可执行函数

main.h


/*
 * main.h
 *
 *  Created on: Jul 20, 2014
 *      Author: john
 */

#ifndef MAIN_H_
#define MAIN_H_
void welcome();
void outstring(const char* str);
#endif /* MAIN_H_ */


main,cpp



/*
 * main.cpp
 *
 *  Created on: Jul 20, 2014
 *      Author: john
 */

#include#include"main.h"
using namespace std;

void welcome()
{
	cout<<"welcome to usn";
}
void outstring(const char* str)
{
	cout<<str<<endl;
}


在eclipse中的设置呢就是在properity->c++ build->Settings->building  artfact中选择 static library即可!


现在我们说说,静态库的调用,静态库呢,在linux当中是.a文件,我们需要知道的是

1.声明需要调用的函数

2.设置eclipse当中的C++ BUILD->setings-> tool settings->Cross G++  linker ->Miscellaneous->other objects 添加.o文件目录即可

main.cpp


//============================================================================
// Name        : static_main.cpp
// Author      : da
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#includeusing namespace std;
void welcome();
void outstring(const char* str);
int main() {
	cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
	welcome();
	outstring("dsadas");
	return 0;
}


这样静态库就成功了,静态库的使用,会将代码写在可执行文件当中,所以在发布的时候是不需要*.a文件的

现在说下动态库的使用,其实动态库的生成呢,是静态库一样的,我们只需要在选择的时候选择 share object就可以了

只是在使用的时候有所不同

需要在使用的时候选择 properity->C++ BUILD->Settings->ToolSettings ->Gross ++ Linker->libraries 上面Libraries中加入的是动态库*.so文件的名称

下面则是该动态库的路径,这样就把动态库添加好了,使用时和静态库一样的是,我们需要重新声明动态库中调用的函数名称。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭