Я попытался добавить следующие строки в мой make-файл, чтобы добавить некоторые графики MATLAB в мою подпрограмму C ++, чтобы установить переменные среды:
export PATH='/APP/MATLAB/R2013a/bin':$PATH
export LD_LIBRARY_PATH='/APP/MATLAB/R2013a/bin/glnxa64:/APP/MATLAB/R2013a/sys/os/gnlxa64':$LD_LIBRARY_PATH
И предоставить код с правильным расположением для включаемых файлов во время компиляции:
.cpp.o:
g++ -c -DUNIX $(DEBUG) -I $(NR_DIR):/APP/MATLAB/R2013a/extern/include/ $<
$(CMD): $(OBJ)
g++ -o $@ $(OBJ) -L$(NR_DIR) -lnr -DUNIX -I $(NR_DIR):/APP/MATLAB/R2013a/extern/include/
Где я только добавил : / APP / MATLAB / R2013a / ехЬегп / включить / в том числе.
Компиляция работает нормально, за исключением того, что один файл .cpp, в который я внес изменения (который требует новых включений), отправляет следующую ошибку:
звучит так, как будто я должен установить g ++, но как это может быть, если g ++ правильно запускается для всех остальных файлов, и он также прекрасно работает при компиляции исходной программы?
Я хотел бы знать, если я делаю ошибку в вызове компилятора, и если экспорт не все в порядке. Это работает правильно на моем ноутбуке, но теперь, когда я попытался перенести программу в кластер нашей школы, она стала грязной.
-I
возможность g++
не предполагает разделенный точкой с запятой список каталогов. Это означает, что вы должны использовать -I
вариант для каждого каталога. Пример:
-I $(NR_DIR) -I/APP/MATLAB/R2013a/extern/include
Других решений пока нет …