2014-02-12 3 views
3

Я создаю проект makefile в xcode5, который работает отлично по большей части. Это проект autoconf со многими подкаталогами - неважно.внешняя система сборки xcode - Ошибка вызова скрипта оболочки

Однако у меня есть проблема с Навигатором проблем. Когда у меня есть ошибка в одном из файлов где-то в моем проекте, xcode правильно обнаруживает проблему и выплевывает ошибку в Navigator Navigator - однако, похоже, что xcode не может связать ошибку с файлом в Навигаторе проектов.

В приведенном ниже примере я вставил мусорную строку в один из методов «привет», что явно не нравится компилятору. К сожалению, файл .cpp не может быть найден, даже если это в рамках проекта

Screenshot from Issue Navigator

Я подозреваю, что Xcode делает это лучше, анализируя выход Makefile/лязгом ++ и пытается определить, где проблема - но явно не удается.

Вот журналы из журнала Навигатор

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive 
Making all in src 
make[2]: Nothing to be done for `all'. 
Making all in src/pops 
make[2]: Nothing to be done for `all'. 
Making all in src/jops 
make[2]: Nothing to be done for `all'. 
Making all in src/jops/tops 
/bin/sh ../../../libtool --tag=CXX --mode=compile clang++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../.. -I /usr/include/openssl -I../../../src/ -g -O2 -MT test.lo -MD -MP -MF .deps/test.Tpo -c -o test.lo test.cpp 
libtool: compile: clang++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../.. -I /usr/include/openssl -I../../../src/ -g -O2 -MT test.lo -MD -MP -MF .deps/test.Tpo -c test.cpp -fno-common -DPIC -o .libs/test.o 
test.cpp:8:9: error: use of undeclared identifier 'hello' 
     hello 
     ^
1 error generated. 
make[2]: *** [test.lo] Error 1 
make[1]: *** [all-recursive] Error 1 
make: *** [all] Error 2 

Может кто-нибудь помочь мне помочь Xcode найти файл в выпуске Navigator? Это поможет мне отладить этот проект с помощью IDE xcode, который мне очень нравится.

+1

Я нашел одно хакерское решение. В Makefile.am я указываю $ {PWD}/перед каждым .cpp-файлом. – stackmate

ответ

0

Возможно, лучшей альтернативой является использование Automake in non-recursive mode. Это напечатает путь относительно каталога верхнего уровня.

Смежные вопросы