GPSTK 自己写一个jam目录
很久没写关于TK的文章了,今天突然想自己写个类似 examples 的文件夹,将自己的测试文件统一起来,避免混淆。楼主没有系统的研究 jam 所以只能告诉大家怎么做,具体的原因就没法分析了。
首先在gpstk下新建一个文件夹,把examples里面的内容赋值过来。lz这里截图,CMakeLists.txt ,Jamfile ,Makefile.am这三个是jam相关的,example1.cpp是源文件
在CMakeLIsts.txt中找到下面两个设置变量,对照examples下面的进行设置
add_executable(example1 example1.cpp)
target_link_libraries(example1 gpstk)
在 Jamfile中找到,这里 myself 是我新建的文件夹,后面两句是设置要编译的源文件的,参照examples中的格式
#
# $Id: //depot/sgl/gpstk/dev/myself/Jamfile#1 $
#
SubDir TOP myself ;
GPSLinkLibraries example1 : gpstk ;
Main example1 : example1.cpp ;
打开Makefile.am,参照examples中的设置下面两个变量
bin_PROGRAMS = example1
example1_SOURCES = example1.cpp
上面的工作完成后需要到gpstk目录下配置jam文件,包括Makefile.am,Jamfile,CMakeLists.txt,configure.ac
Makefile中的SUBDIRS变量将自己新建的文件夹添加进去
SUBDIRS = src \
myself \
lib \
apps \
examples
CMakeLists.txt的末尾添加自己的文件夹
add_subdirectory (myself)
Jamfile中对应位置添加一个SubInclude
SubInclude TOP myself ;
最后在configure.ac中的AC_CONFIG_FILES变量的格式将新建文件夹下的Makefile包含进去,lz刚开始没设置这个总是提示找不到myself文件夹或者目录的错误。
所有完了以后,打开终端,在gpstk目录下jam一下;然后在myself目录下jam下就可以执行example1了。大家去试试吧~lz的执行效果