Вопросы с тегом «linker»

123
Что делает флаг компоновщика -all_load?

Я нигде не могу найти, что делает флаг -all_load при компиляции кода Objective-C. У меня есть некоторые проблемы с загрузкой двоичных файлов в Apple, они говорят, что это потому, что я не использовал этот флаг, но мой код компилируется даже без него. Кто-нибудь может мне с этим помочь?...

118
Visual C ++: как отключить определенные предупреждения компоновщика?

Я использую библиотеку из CGAL, которая на этапе компоновки моего кода компиляции выдает множество предупреждений о компоновке в этой форме: warning LNK4099: PDB 'vc80.pdb' was not found with 'gmp-vc80-mt-sgd.lib' or at 'vc80.pdb'; linking object as if no debug info Как отключить это предупреждение...

117
Почему при компиляции проекта C ++ в Visual Studio возникает фатальная ошибка «LNK1104: невозможно открыть файл« C: \ Program.obj »»?

Я создал новый проект на C ++ в Visual Studio 2008. Код еще не написан; Изменились только настройки проекта. Когда я компилирую проект, я получаю следующую фатальную ошибку: фатальная ошибка LNK1104: невозможно открыть файл 'C: \ Program.obj'...

111
Как я могу сделать ссылку на конкретную версию glibc?

Когда я компилирую что-то на своем ПК с Ubuntu Lucid 10.04, оно связывается с glibc. Lucid использует glibc версии 2.11. Когда я запускаю этот двоичный файл на другом компьютере с более старой версией glibc, команда не сообщает, что glibc 2.11 ... Насколько мне известно, в glibc используется...

109
Как мне сделать полностью статически связанный .exe с Visual Studio Express 2005?

В настоящее время я предпочитаю среду C ++ - бесплатную и в значительной степени превосходную версию Microsoft Visual Studio 2005 Express. Время от времени я отправлял другим людям файлы с расширением .exe, что давало хорошие результаты. Однако недавно я сделал тревожное открытие, что приятные...

108
статическая компоновка только некоторых библиотек

Как я могу статически связать только некоторые определенные библиотеки с моим двоичным файлом при связывании с GCC? gcc ... -static ...пытается статически связать все связанные библиотеки, но у меня нет статической версии некоторых из них (например:...

103
Для чего нужен __gxx_personality_v0?

Это вопрос из вторых рук с сайта разработки ОС, но он вызвал у меня любопытство, так как я нигде не мог найти достойного объяснения. При компиляции и компоновке автономной программы на C ++ с использованием gcc иногда возникает такая ошибка компоновщика: out/kernel.o:(.eh_frame+0x11): undefined...

103
Безопасно ли связывать объекты C ++ 17, C ++ 14 и C ++ 11

Предположим, у меня есть три скомпилированных объекта, созданных одним и тем же компилятором / версией : A был скомпилирован со стандартом C ++ 11 B был скомпилирован по стандарту C ++ 14 C был скомпилирован со стандартом C ++ 17 Для простоты предположим, что все заголовки были написаны на C ++ 11...

97
Разбиение шаблонных классов C ++ на файлы .hpp / .cpp - возможно ли?

Я получаю ошибки при попытке скомпилировать класс шаблона C ++, который разделен между a .hppи .cppfile: $ g++ -c -o main.o main.cpp $ g++ -c -o stack.o stack.cpp $ g++ -o main main.o stack.o main.o: In function `main': main.cpp:(.text+0xe): undefined reference to 'stack<int>::stack()'...

96
Как указать предпочтение пути к библиотеке?

Я компилирую программу на C ++, используя g++и ld. У меня есть .soбиблиотека, которую я хочу использовать при компоновке. Однако библиотека с таким же именем существует /usr/local/libи ldвыбирает эту библиотеку вместо той, которую я прямо указываю. Как я могу это исправить? В приведенных ниже...

93
Могу ли я изменить 'rpath' в уже скомпилированном двоичном файле?

У меня есть старый исполняемый файл, который планируется отправить в кучу лома, но его еще нет. Он полагается на некоторые библиотеки, которые были удалены из моей среды, но у меня есть некоторые библиотеки-заглушки, где они работают нормально. Я хочу указать этот исполняемый файл на эти...

90
Что означает ошибка «информация о версии недоступна» из динамического компоновщика linux?

В нашем продукте мы поставляем некоторые двоичные файлы Linux, которые динамически подключаются к системным библиотекам, таким как «libpam». В некоторых клиентских системах при запуске программы на stderr появляется следующая ошибка: ./authpam: /lib/libpam.so.0: no version information available...

89
В чем разница между -rpath и -L?

gccи ldпредоставляет множество способов , чтобы указать путь поиска для библиотек-среди них -rpathи -Lфлагов. На страницах руководства нет различий между этими двумя флагами, фактически говоря, что каждый флаг добавляет библиотеку в путь поиска библиотеки. Тем не менее, кажется странным , что оба...

85
статические переменные во встроенной функции

У меня есть функция, которая объявлена ​​и определена в файле заголовка. Это проблема сама по себе. Когда эта функция не встроена, каждая единица перевода, использующая этот заголовок, получает копию функции, а когда они связаны вместе, они дублируются. Я «исправил» это, сделав функцию встроенной,...

85
Компиляция завершается неудачно с «перемещением R_X86_64_32 против` .rodata.str1.8 'не может использоваться при создании общего объекта »

Я пытаюсь скомпилировать этот исходный код из make-файла на VPS, но он не работает. VPS - это ОС 64 Cent Вот полная ошибка # make gcc -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/amx/*.c g++ -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/*.cpp g++ -c -O3 -w -DLINUX -I../SDK/amx/ *.cpp g++ -O2 -fshort-wchar...

84
Что находится внутри файла .lib статической библиотеки, статически связанной динамической библиотеки и динамически связанной динамической библиотеки?

Что находится внутри файла .lib статической библиотеки, статически связанной динамической библиотеки и динамически связанной динамической библиотеки? Почему нет необходимости в файле .lib в динамически подключаемой динамической библиотеке, а также в том, что при статической компоновке файл .lib...

84
объединить два скомпилированных GCC объектных файла .o в третий .o файл

Как объединить два объектных файла .o, скомпилированных GCC, в третий файл .o? $ gcc -c a.c -o a.o $ gcc -c b.c -o b.o $ ??? a.o b.o -o c.o $ gcc c.o other.o -o executable Если у вас есть доступ к исходным файлам, -combineфлаг GCC объединит исходные файлы перед компиляцией: $ gcc -c -combine a.c...