Automake использует абсолютный путь к источникам при настройке из другой папки - PullRequest
0 голосов
/ 28 мая 2019

Есть проект.С файлами 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__)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...