повышение статической связи с g ++ на MacOS

0

Я создаю проект в C++ с помощью инструментария FLTK и включил библиотеки boost для сериализации и хотел бы статически ссылаться на них, поскольку я не могу гарантировать существование библиотек повышения на других машинах.

Я перезапустил команды установки из загрузки загрузки так:

sudo ./b2 link=static
sudo ./b2 install link=static

и я тогда компилирую свой проект так

g++ 'fltk-config --use-forms --use-gl --use-images --ldflags --cxxflags' xxxx.cpp  -L/opt/local/lib/ -Wl, -Bstatic -lboost_iostreams -lboost_serialization -Wl, -Bdynamic -o program_name

но получить отказ, и только это как результат

ld: file not found: 
collect2: ld returned 1 exit status

Я не совсем уверен, что делать здесь, есть ли у кого-нибудь указания?

  • 0
    Добавьте -v (или --v) в командную строку, чтобы получить больше информации. Ваши загрузочные библиотеки находятся в / opt / local / lib? Не уверен, почему аргументы командной строки в серьезных акцентах?
Теги:
boost
static
g++
static-linking

1 ответ

0

У вас есть место в -Wl, -Bstatic. Удалите это пространство, например -Wl,-Bstatic.

То же самое относится к -Wl, -Bdynamic.

  • 0
    Хороший вопрос, но все еще не работает. Я тоже последовал этому совету stackoverflow.com/questions/12022543/… и установил все, что я могу придумать, через macports, и теперь я компилирую с помощью этой команды "g ++ - mp-4.7 fltk-config --use-forms --use-gl --use-images --ldflags --cxxflags xxxx.cpp fltk-config --ldflags -L / opt / local / lib / -Wl, -Bstatic -lboost_iostreams -lboost_serialization -Wl, -Bdynamic -o имя_программы ", но это по-прежнему возвращает следующую ошибку: ld: неизвестный параметр: -Bstatic collect2: error: ld вернул 1 состояние выхода

Ещё вопросы

Сообщество Overcoder
Наверх
Меню