Fixing the ‘Undefined Reference’ Errors for C/C++ Projects
This tutorial shows how to various problems related to missing symbols in C/C++ projects. We will create a basic project calling the png_create_read_struct() function from the libpng library and will go through common missing setup steps, explaining the errors that will arise.
Before you begin, install VisualGDB 5.4 or later.
- Start Visual Studio and locate the VisualGDB Linux Project Wizard:
- Pick a name and location for your project:
- Press “Create” to launch the VisualGDB-specific part of the wizard. On the first page, pick Create a new project -> Application -> MSBuild:
- In this tutorial we will use a cross-toolchain that runs on Windows and builds code for a Linux target and will demonstrate points of failure caused by this configuration. However, most of the steps shown below will work for projects built directly on Linux as well:
- Press “Finish” to generate the project. Now we will try calling a function from the libpng library and will go through most possible missing steps that could cause a build-time or run-time error. Add the following code to the main() function and try building the project:
Источник
Ошибка при компилировании undefined reference to?
При компиляции вылетает указанная ниже ошибка. В чем может быть проблем? Linux
Часть кода
в шапке
- Вопрос задан более двух лет назад
- 5335 просмотров
тэг С++ относится к языку C++, то что у вас это Си.
то что вы компилируете этот код компилятором С++ не делает его кодом на С++.
даже extern C не делает.
При выполнение этого кода должен отправится POST запрос на IP адрес имеющегося оборудования с содержанием аудио файла в теле запроса.
Вот полный код программы:
Код был написан разработчиками оборудования, они утверждают, что он должен без проблем работать. В итоге были ошибки, я их исправил, но это не знаю как решить.
Евгений Шатунов, т.к в C++ я полный ноль, могу не понять некоторые вопросы.
Вообщем, как теперь я понял, никакого сценария у меня нет, я просто компилировал файл .cpp через компилятор Linux
g++ /dir/
Мне важно получить результат этого когда, но видимо я понятия не имею как это сделать.
Как было сказано автором, «скомпилируй в линуксе»
Код был написан разработчиками оборудования
Источник
Undefined reference при линковке
Queue()’
main.cpp: (.text+0x8c): undefined reference to `Queue ::
Queue()’
collect2: error: ld returned 1 exit status
Makefile:14: ошибка выполнения рецепта для цели «Queue»
make: *** [Queue] Ошибка 1
При линковке: Undefined reference to std::count
Написал простейшую программу на c++: #include void _start() < std::cout 2
gng, благодарю. Всё нормально
Добавлено через 8 минут
Для заблудших душ конечный вариант:
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Undefined reference в template (Code::Blocks)
Есть шаблонны класс Deque (очередь с двумя концами): template class Deque < .
main.cpp:37: undefined reference to `NMEAParser::ParserBuffer(unsigned char*)
вот написал сие творение (код ниже) выдает ошибку компиляции main.cpp:37: undefined reference to.
непонятное сообщение при линковке
при линковке получаю такое предупреждение: не понятно от чего, почему, и как избавится.
Ошибка undefined reference при запуске программы с sfml
Всем привет! Решил попробовать данную либу (читал статейку на хабре и решил запустить простой.
Источник
Eclipse, ошибка undefined reference to main
Ошибка компоновщика Undefined reference
Я решил написать небольшую ОС, т.к. интересно, как они работают. Нашел туториал на wiki.osdev.org.
Ошибка: undefined reference to `log’
Всю свою недолгую жизнь я компилировал программы и не встречал таких ошибок. Возьмем самый.
Ошибка undefined reference to `sqrt’
#include #include #include #include int main().
Изменение цвета текста и фона. Ошибка undefined reference to ‘textbackground’
Ниже собственно код. При компиляции выдает ошибку undefined reference to ‘textbackground’. Пишу.
у вас return нету. Даже в 3 трех строчках касяк) Программисты все такие самоуверенные всегда, эх.
Я не программист, я пока ещё только учусь. Причём С — самостоятельно и относительно недавно.
Makefile из /%projectname%/Debug?
Если да, то вот:
чего не скажешь о return()
Добавлено через 4 минуты
раньше юзал kdevelop, так как она была стабильна в плане настроек, но потом они исключили проекты C
настроить можно, но не так легко, как раньше
писать в блокноте (с подсветкой), создавая make-файлы вручную — быстрее, чем делать то же самое в eclipse
Добавлено через 1 минуту
return не обязателен в main(), так как в C99 она неявно возвращает 0
если же в C89 не поставить return, то будет возвращаться случайное значение (которое в системе может быть воспринято как признак сбойного завершения программы)
Добавлено через 3 минуты
emacs — совсем не обычный текстовый редактор, на его освоение уйдёт много времени, как и на vim
Добавлено через 21 минуту
ещё по поводу eclipse:
я один раз сидел около часа, пытаясь найти ошибку в программе на C, потому что программа работала, но что-то не выводила (во встроенную консоль eclipse)
а потом оказалось, что программа на самом деле падала где-то в середине с Segmentation fault, а не выполнялась успешно до конца, что показывала эта встроенная консоль
и ещё много всяких там подобных моментов было, на которые ушло много времени впустую
Источник
undefined reference to `sincos’ (and other math functions) #3
Comments
cescp commented Oct 5, 2011
When trying to compile timelib (either from easy_install or from a direct make), I get the following errors:
build/temp.linux-i686-2.7/ext-date-lib/astro.o: In function astro_sunpos’: /tmp/timelib-0.2.2/ext-date-lib/astro.c:141: undefined reference to sincos’
/tmp/timelib-0.2.2/ext-date-lib/astro.c:141: undefined reference to sincos’ /tmp/timelib-0.2.2/ext-date-lib/astro.c:148: undefined reference to atan2′
/tmp/timelib-0.2.2/ext-date-lib/astro.c:151: undefined reference to sincos’ build/temp.linux-i686-2.7/ext-date-lib/astro.o: In function astro_sun_RA_dec’:
/tmp/timelib-0.2.2/ext-date-lib/astro.c:164: undefined reference to sincos’ /tmp/timelib-0.2.2/ext-date-lib/astro.c:174: undefined reference to atan2′
/tmp/timelib-0.2.2/ext-date-lib/astro.c:175: undefined reference to atan2′ build/temp.linux-i686-2.7/ext-date-lib/astro.o: In function timelib_astro_rise_set_altitude’:
/tmp/timelib-0.2.2/ext-date-lib/astro.c:261: undefined reference to sin’ /tmp/timelib-0.2.2/ext-date-lib/astro.c:261: undefined reference to sincos’
/tmp/timelib-0.2.2/ext-date-lib/astro.c:261: undefined reference to sincos’ /tmp/timelib-0.2.2/ext-date-lib/astro.c:275: undefined reference to acos’
build/temp.linux-i686-2.7/ext-date-lib/astro.o: In function astro_sun_RA_dec’: /tmp/timelib-0.2.2/ext-date-lib/astro.c:175: undefined reference to sqrt’
/tmp/timelib-0.2.2/ext-date-lib/astro.c:147: undefined reference to sqrt’ /tmp/timelib-0.2.2/ext-date-lib/astro.c:146: undefined reference to sqrt’
build/temp.linux-i686-2.7/ext-date-lib/timelib.o: In function timelib_decimal_hour_to_hms’: /tmp/timelib-0.2.2/ext-date-lib/timelib.c:162: undefined reference to floor’
/tmp/timelib-0.2.2/ext-date-lib/timelib.c:163: undefined reference to `floor’
It seems that the flag «-lm» is missing, because if I manually add it to the gcc command, it works fine:
gcc -pthread -shared -Wl,—as-needed -Wl,—no-undefined -Wl,-z,relro -Wl,-O1 -Wl,—build-id -Wl,—enable-new-dtags build/temp.linux-i686-2.7/ext-date-lib/astro.o build/temp.linux-i686-2.7/ext-date-lib/dow.o build/temp.linux-i686-2.7/ext-date-lib/parse_date.o build/temp.linux-i686-2.7/ext-date-lib/parse_tz.o build/temp.linux-i686-2.7/ext-date-lib/timelib.o build/temp.linux-i686-2.7/ext-date-lib/tm2unixtime.o build/temp.linux-i686-2.7/ext-date-lib/unixtime2tm.o build/temp.linux-i686-2.7/timelib.o -L/usr/lib -lpython2.7 -lm -o build/lib.linux-i686-2.7/timelib.so
The text was updated successfully, but these errors were encountered:
Источник