CLion中的文件路径问题

CLion中的文件路径问题

问题陈述

先前的C++项目通过VScode+Makefile,因为分文件编译出现会依赖问题,只是简单采用脚本,每次编译整个项目,虽然速度慢一点,但是还可以接受。在了解CMake后,于是尝试使用CLion作为C++编译器,使用CMakeList来管理项目文件。但是在一个读入文件的函数上遇到问题,即无论如何读入,fscanf都会返回-1。

解决过程

首先排查是否是fscanf的format问题,经过漫长的测试,最终发现连字符也无法读入,所以转而判断是否是空指针问题。由于返回EOF,按理来说是读入到文件末尾,且先前在Linux平台上,空指针应该报错为段错误,然而可能在Windows平台上,底层经过优化(反向优化),并没有报段错误。

在判断原因,可以看到在CLion上,编译后的文件路径如图所示:

image-20220807223416740

而在代码中定义了路径相对于main.cpp的路径,由于原先手撸的Makefile定义编译后的文件和main.cpp在同级目录下,所以可以采用相对路径,在这里相对路径无效,最好采用绝对路径。

posted @ 2022-08-07 22:37  骇人的籽  阅读(907)  评论(0编辑  收藏  举报