Я пользователь Mac OS X 10.8.3 (Mountain Lion). Я загрузил броненосец и установил его в OS X согласно инструкциям README.txt. Компилируется нормально, набрав:
g++ ... *stuff* ... -O2 -larmadillo
в терминале. Включив те же аргументы компоновщика в Eclipse CDT, я смог скомпилировать броненосец в Eclipse (Juno) в OS X. Однако моя проблема заключается в том, что когда дело доходит до компиляции в Xcode 4 — программе, которую я необходимость иметь броненосец внутри! Я уже пытался добавить строку «-O2 -larmadillo» к другим флагам компоновщика. Я также попытался добавить / usr / local / lib и / usr / local / include / в пути поиска заголовка и пути поиска библиотеки. Я получил Xcode 4, чтобы таким образом распознать команду:
# include < armadillo >
или же
# include "/usr/local/include/armadillo"
ОДНАКО, когда дело доходит до времени компиляции, Xcode 4 НЕ распознает такую строку:
коврик A;
Итак, для кода:
# include < iostream >
# include < armadillo >
using namespace std;
int main() {
mat A;
return 0;
}
Я получаю ошибки, такие как:
Использование необъявленного идентификатора ‘mat’; Вы имели в виду «Макс»?
Ожидаемый ‘;’ после выражения
Использование необъявленного идентификатора «А»
Ссылка на перегруженную функцию не может быть разрешена; ты хотел это назвать?
Обратите внимание, что код даже не доходит до стадии компиляции!
Я хотел бы сейчас: как правильно связать и скомпилировать код C ++, который использует библиотеку armadillo в Xcode 4 ???
Большое спасибо!
Дэниел.
Вы забыли добавить «использование пространства имен arma»? то есть.
# include <iostream>
# include <armadillo>
using namespace std;
using namespace arma; // make Armadillo classes and functions visible by default
Других решений пока нет …