Я получаю эту ошибку при компиляции кода C++ с использованием clang и g++
ld: warning: ignoring file '/usr/local/Cellar/nlopt/2.9.1/lib/libnlopt.0.13.0.dylib': found architecture 'x86_64', required architecture 'arm64'
Undefined symbols for architecture arm64:
"_nlopt_create", referenced from:
nlopt::opt::opt(nlopt::algorithm, unsigned int) in nlopt_test-cc0bb7.o
Вот команда компиляции:
g++ -std=c++14 -I /usr/local/include nlopt_test.cpp -o nlopt_test -L /usr/local/lib -lnlopt
Вот пример программы, в которой возникает такая ошибка:
#include
int main() {
// Create an optimizer object
nlopt::opt opt(nlopt::LN_COBYLA, 2);
// Do stuff
}
Для первоначальной установки nlopt я использовал Brew install nlopt.
Для устранения неполадок я выполнил следующую команду:
ls /usr/local/lib | grep nlopt
и получил:
libnlopt.0.13.0.dylib
libnlopt.0.dylib
libnlopt.dylib
Я также выполнил эту команду:
sudo find / -name "libnlopt.a" 2>/dev/null
И не получил никаких результатов.
Я использовал другие библиотеки C++, установленные с помощью Brew, и, похоже, проблема возникает только из-за nlopt. .
Запускаем это:
file /usr/local/lib/libnlopt.0.13.0.dylib
Выдает следующее:
/usr/local/lib/libnlopt.0.13.0.dylib: Mach-O 64-bit dynamically linked shared library x86_64
Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-it-in-c
Как правильно связать lnopt при его использовании в C++? ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1737169318
Anonymous
Я получаю эту ошибку при компиляции кода C++ с использованием clang и g++
ld: warning: ignoring file '/usr/local/Cellar/nlopt/2.9.1/lib/libnlopt.0.13.0.dylib': found architecture 'x86_64', required architecture 'arm64'
Undefined symbols for architecture arm64:
"_nlopt_create", referenced from:
nlopt::opt::opt(nlopt::algorithm, unsigned int) in nlopt_test-cc0bb7.o
Вот команда компиляции:
g++ -std=c++14 -I /usr/local/include nlopt_test.cpp -o nlopt_test -L /usr/local/lib -lnlopt
Вот пример программы, в которой возникает такая ошибка:
#include
int main() {
// Create an optimizer object
nlopt::opt opt(nlopt::LN_COBYLA, 2);
// Do stuff
}
Для первоначальной установки nlopt я использовал Brew install nlopt.
Для устранения неполадок я выполнил следующую команду:
ls /usr/local/lib | grep nlopt
и получил:
libnlopt.0.13.0.dylib
libnlopt.0.dylib
libnlopt.dylib
Я также выполнил эту команду:
sudo find / -name "libnlopt.a" 2>/dev/null
И не получил никаких результатов.
Я использовал другие библиотеки C++, установленные с помощью Brew, и, похоже, проблема возникает только из-за nlopt. .
Запускаем это:
file /usr/local/lib/libnlopt.0.13.0.dylib
Выдает следующее:
/usr/local/lib/libnlopt.0.13.0.dylib: Mach-O 64-bit dynamically linked shared library x86_64
Подробнее здесь: [url]https://stackoverflow.com/questions/79366473/how-do-i-correctly-link-lnopt-when-using-it-in-c[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия