我在src中有用于测试libxml的article.html,我希望使用相对路径'.article'读取它,但在clion中,cmake将当前目录更改为“ /home/roroco/.CLion12/system/cmake/generated/c9a7a4c5/c9a7a4c5 / Debug0”,我的问题是:在get_current_source_dir()
吗?
更新这里是我的ex.c:
#include <unistd.h>
#include "stdio.h"
int main(int argc, char **argv) {
puts(get_current_dir_name());
// /home/roroco/.CLion12/system/cmake/generated/b321980/b321980/Debug
FILE *f = fopen('article.html', "r");
fseek(f, 0, SEEK_END);
// Signal: SIGSEGV (Segmentation fault)
return (0);
};
这是我的文件树
- ex.c
- CMakeLists.txt
- article.html
这是我的CMakeLists.txt
而要解决这个正确的方法是把article.html
成/home/roroco/.CLion12/system/cmake/generated/b321980/b321980/Debug
,这里是你可以做什么:
在CMakeLists.txt中:
add_definitions("-DSOURCE_PATH=\"${CMAKE_SOURCE_PATH}\"")
在ex.c中:
fopen(SOURCE_PATH "article.html", "r");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句