Есть проект.С файлами myprog.cpp
, Makefile.am
и configure.ac
в корне.
myprog.cpp:
#include <iostream>
int main() {
std::cout << __FILE__ << std::endl;
}
1) Из терминала я могу использовать autoreconf -if && ./configure && make && myprog
Затем он выводит на печатьmyprog.cpp
2) С терминала я могу использовать autoreconf -if && mkdir temp && cd temp && ../configure && make && myprog
Тогда вместо myprog.cpp
или, по крайней мере, ../myprog.cpp
, я получу полный абсолютный путь: /my/log/absolute/path/to/folder/myprog.cpp
==================
Известно, что макрос __FILE__
просто выводит путь, который был предоставлен gcc во время компиляции.
Я хочу настроить из другой папки.Но я хочу, чтобы макрос __FILE__
содержал только имя файла, как если бы я настраивал из папки ROOT
.
Можно ли как-то этого добиться?
Я хочу, чтобы макрос __FILE__
содержал простоимя файла.Я не хочу создавать другой макрос (как здесь в этом примере: #define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
).