可以做试卷的网站英语,手机浏览器直接打开网址,广州制作app,登录全球最大的域名注册商网站同时构建静态和动态库 //如果用这种方式#xff0c;只会构建一个动态库#xff0c;虽然静态库的后缀是.a ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})
ADD_LIBRARY(hello STATIC ${LIBHELLO_SRC}) //修改静态库的名字#xff0c;这样是可以的#xff0c;但是我们往往希望他… 同时构建静态和动态库 //如果用这种方式只会构建一个动态库虽然静态库的后缀是.a ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})
ADD_LIBRARY(hello STATIC ${LIBHELLO_SRC}) //修改静态库的名字这样是可以的但是我们往往希望他们的名字是相同的只是后缀不同 ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})
ADD_LIBRARY(hello_static STATIC ${LIBHELLO_SRC}) SET_TARGET_PROPERTIES 这条指令可以用来设置输出的名称对于动态库还可以用来指定动态库版本和API版本 同时构建静态和动态库 SET(LIBHELLO_SRC hello.cpp)
ADD_LIBRARY(hello_static STATIC ${LIBHELLO_SRC})
//对hello_static的重名为hello
SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME hello)
//cmake在构建一个新的target时会尝试清理掉其他使用这个名字的库因为在构建libhello.so时就会清理掉libhello.a
SET_TARGET_PROPERTIES(hello_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})
SET_TARGET_PROPERTIES(hello PROPERTIES OUTPUT_NAME hello)
SET_TARGET_PROPERTIES(hello PROPERTIES CLEAN_DIRECT_OUTPUT 1) 动态库的版本号 一般动态库都有一个版本号的关联 libhello.so.1.2
libhello.so -libhello.so.1
libhello.so.1-libhello.so.1.2 CMakeLists.txt插入如下 SET_TARGET_PROPERTIES(hello PROPERTIES VERSION 1.2 SOVERSION 1) VERSION指代动态库版本SOVERSION指代API版本 安装共享库和头文件 本例中我们将hello的共享库安装到prefix/lib目录 将hello.h安装到prefix/include/hello目录 //文件放在该目录下
INSTALL(FILES hello.h DESTINATION include/hello)
//二进制静态库动态库安装都用TARGETS
//ARCHIVE 特指静态库LIBRARY特指动态库RUNTIME特指可执行目标二进制
INSTALL(TARGETS hello hello_static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) 指定cmake -D CMAKE_INSTALL_PREFIX/usr .. 如何使用生成的hello.h,libhello.so,libhello.a 使用外部共享库和头文件 #include hello.h
int main(){a();return 0;
} PROJECT(HELLO)
ADD_SUBDIRECTORY(src bin) 接上回安装头文件之后 解决make后头文件找不到的问题 includehelllo/hello.h这样include是可以的 关键字INCLUDE_DIRECTORIES这条指令可以用来向工程添加多个特定的头文件搜索路径路径之间用空格分割 在CMakeLists.txt中加入头文件搜索路径 INCLUDE_DIRECTORIES/usr/include/hello INCLUDE_DIRECTORIES(/usr/include/hello)
ADD_EXECUTABLE(hello main.cpp)
TARGET_LINK_LIBRARIES(hello libhello.so) mv /usr/lib/libhello.so /usr/lib64cd /进入根目录 mv 源文件路径 目标文件路径移动 mv /home/a1/b1/c1/d1 /home/a1/b1/ 将d1移动到b1的文件夹下 mv /home/a1/b1/c1/d1 /tmp/d222移动并将d1改名为d222 mv /tmp/d222 /tmp/d333只改名 ctrlshift:屏幕放大 cat 文件 查看全部内容 head -3 文件查看前三行 tail more 文件翻页 空格翻篇回车换行 grep c /1.txt:过滤 ls 路径 文件名将路径下的目录信息放入文件中 gedit 文件名打开文件 vim 文件名 i :wq yy复制p粘贴 dd删除 5dd一下删除5行 u撤销 x删除一个字