在ubuntu16.04中安装Kdevelop和使用技巧中我们降到了Kdevelop的安装技巧和基本的hello world 测试,这次我们做一个新的测试——添加一个除main.cpp外的cpp函数,并且,对它进行调用,把它定义为一个库函数。
step1:模仿上一篇博客,创建一个package_test工程
需要在CmakeLists.txt中添加: set(CMAKE_BUILD_TYPE "Debug") 方便我们之后对程序进行调试
step2: 新建一个print_hello.cpp,具体过程为,在projects的package_test中右键,点击create new file,然后kdevelop会让你在CmakeLists.txt做相应的修改。这里我们需要添加两行,
cmake_minimum_required(VERSION 2.6)
project(package_test)
set(CMAKE_BUILD_TYPE "Debug")
add_executable(package_test main.cpp)
add_library(say_hello_shared SHARED print_hello.cpp)
target_link_libraries(package_test say_hello_shared)
install(TARGETS package_test RUNTIME DESTINATION bin)
注意,add_library(say_hello_shared SHARED print_hello.cpp)这一句表示添加的是共享库,静态库以.a 作为后缀名,共享库以.so
结尾。所有库都是一些函数打包后的集合,差别在于静态库每次被调用都会生成一个副本,而共享库则只有一个副本,更省空间。如果我们想生成共享库而不是静态库,就使用上面的语句。如果希望添加静态库,就是用add_library(say_hello print_hello.cpp),编译后会生成say_hello.a的静态库。
确定以后,在print_hello.cpp中输入下列语句:
//这是一个库文件
#include<iostream>>
using namespace std;
void sayhello()
{
cout<<"hello test"<<endl;
}
step3:然后点击Build进行编译,显示编译成功,然后就可以点击Execute运行了。
Build如下:
Execute如下:
特别注意:不能将add_executable(package_test main.cpp)放在target_link_libraries(package_test say_hello_shared)的后面,否则会出现下面的编译错误:
添加库的测试到此结束~
Tips:修改Kdevelop的默认字体大小:
点击Kdevelop上面的settings -> Configure Editor,然后点击Fonts&Corors->Font,选择想要的size大小即可,然后点击Apply ->ok后即可生效。
—————————————————————happy ending line——————————————————