Baidu makes me sick!!!\x0d\x0a\x0d\x0a将所有子程序的声明
放在头
文件.h里,对应的
定义放在同名的.c文件里,主程序的文件和这两个文件都放在同一目录下,举例说明\x0d\x0avoid function1(void)//声明\x0d\x0avoid function1(void)//声明\x0d\x0amain()\x0d\x0a{.................\x0d\x0a function1()\x0d\x0a function2()\x0d\x0a\x0d\x0a .................\x0d\x0a}\x0d\x0avoid function1(void)\x0d\x0a{\x0d\x0a..................定义\x0d\x0a}\x0d\x0avoid function2(void)\x0d\x0a{\x0d\x0a..................定义\x0d\x0a}\x0d\x0a/************************************************\x0d\x0a你想要的效果如下*/\x0d\x0a#include "my_functions.h"\x0d\x0amain()\x0d\x0a{.................\x0d\x0a function1()\x0d\x0a function2()\x0d\x0a\x0d\x0a .................\x0d\x0a}\x0d\x0a/*************************************\x0d\x0a将方程的声明放在文件my_functions.h里*/\x0d\x0avoid function1(void)//声明\x0d\x0avoid function1(void)//声明\x0d\x0a/*************************************\x0d\x0a将方程的定义放在文件my_functions.c里*/\x0d\x0avoid function1(void)\x0d\x0a{\x0d\x0a..................定义\x0d\x0a}\x0d\x0avoid function2(void)\x0d\x0a{\x0d\x0a..................定义\x0d\x0a}在该路径下会生成一个文件夹(CMakeFiles),三个文件(Makefile, CMakeCache.txt, cmake_install.cmake)以及一个程序(addition)
此时的文件目录结构为
该项目该依赖于MPI,GDAL和cereal库。MPI和GDAL库自行编译
1.配置各种编译的时候,可以使用set设置,更多详情,请自行搜索。
2.头文件的包含请使用include_directories。
3.搜索源文件请使用aux_source_directory。
4.第三方库的查找使用 find_package。例如我们想找GDAL, 那么 find_package(GDAL), 它会在 /usr/share/cmake/Modules 文件中的FindGDAL.cmake文件中去找GDAL的各种信息。前提是GDAL 是make install的, FindGDAL.cmake中才会有GDAL的各种信息。否则的话,我们需要set自行制定GDAL的相关信息。
5.第三方库的链接用target_link_libraries。
注意,也可以将该项目中的某个文件夹编译成静态库,然后在于其余源文件链接,可以参考: https://blog.csdn.net/cliukai/article/details/90670243
简单的多文件编译: https://blog.csdn.net/cliukai/article/details/90670243
有第三方库的文件编译: https://blog.csdn.net/fb_help/article/details/79593037
1.
将一个函数写在一个文件里,然后再在另一个文件里用“include”包含这个文件。
2.
举例:
在文件c1.c里编一个函数:
void
printWord(){
printf("Hello!world!")
}
再建立一个文件c2.c,文件开头写上#include"c1.c",就可以调用c1.c里的函数printword()了
这样通过include *** 作,可以把任意多个文件连接起来,编译成一个程序运行。
评论列表(0条)