Форум программистов, компьютерный форум CyberForum.ru

Ошибка `undefined reference to` - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.79
Dimmak
 Аватар для Dimmak
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 170
30.01.2013, 12:42     Ошибка `undefined reference to` #1
Выскакивает вот такая вот ошибка:
undefined reference to ?Подскажите, пожалуйста, как это исправить?
И еще рядом с file.h находится file.lib
Может ли эта ошибка возникать из-за не подключенного файла библиотеки( *.lib ) или *.dll?
ps
Я впервые сталкиваюсь с подобного рода ошибками...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2013, 12:42     Ошибка `undefined reference to`
Посмотрите здесь:

C++ Ошибка undefined reference to
Ошибка undefined reference C++
C++ Ошибка: undefined reference to `WinMain@16'
C++ Использование шаблонов и ошибка Undefined reference to
C++ Ошибка undefined reference to `lpddsback'
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
01.02.2013, 11:19     Ошибка `undefined reference to` #21

Не по теме:

Цитата Сообщение от Dimmak Посмотреть сообщение
Это в Vs 2008
Ошибка 15 error LNK2026: небезопасный модуль для образа SAFESEH. C:\0\AIFF\PitchShiftWindows_E\MiniAiffMSVC.lib(miniAIFF.obj) smbPitchShift
Ошибка 16 error LNK1281: Не удается создать образ SAFESEH. C:\0\AIFF\PitchShiftWindows_E\Release\smbPitchShift.exe smbPitchShift
Это в Vs 2012
- Вечером смогу сделать в 2008-й (2012-ц у меня нет). ИМХО поставь себе VS 6.0 и не ищи на одно место приключений, тамошние коды писаны под 6-ку, которая спокойно линкует и на Win7.



Добавлено через 4 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
PitchShiftWindows_E
- это твоё имя проекта, стало быть СВОЙ проект покажи!

Цитата Сообщение от Dimmak Посмотреть сообщение
smbPitchShift.exe
- тот срр это не приложение, я понял что ты делаешь. ОМГ там же написано
SYNOPSIS: Routine for doing pitch shifting while maintaining
* duration using the Short Time Fourier Transform.
*
- это ну хочешь простым языком - файл с прототипами функций. Проект надо открывать через dsw файл а если с нуля хотим то главный код в callsmbPitchShift.cpp (проект надо скачивать)

/* *********************************************************************************

EXAMPLE main() for smbPitchShift using MiniAiff to handle sound file i/o
(c) 2003-2009 S. M. Bernsee, http://www.dspdimension.com

IMPORTANT: requires miniAIFF to be included in the project

********************************************************************************* */

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "MiniAiff.h"



void smbPitchShift(float pitchShift, long numSampsToProcess, long fftFrameSize, long osamp, float sampleRate, float *indata, float *outdata);


int main(void)
{
- В НЁМ МЭЙН ЛЕЖИТ ЖЕ!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dimmak
 Аватар для Dimmak
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 170
01.02.2013, 11:21  [ТС]     Ошибка `undefined reference to` #22
Цитата Сообщение от Croessmah Посмотреть сообщение
параметр компоновщика /SAFESEH:NO уберет сие чудо
Да убрал, но появились еще 2:
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl smbFft(float *,long,long)" (?smbFft@@YAXPAMJJ@Z) в функции "void __cdecl smbPitchShift(float,long,long,long,float,float *,float *)" (?smbPitchShift@@YAXMJJJMPAM0@Z) C:\0\AIFF\PitchShiftWindows_E\smbPitchShift.obj smbPitchShift
Ошибка 2 error LNK1120: неразрешенных внешних элементов: 1 C:\0\AIFF\PitchShiftWindows_E\Release\smbPitchShift.exe smbPitchShift
-=ЮрА=-
01.02.2013, 11:21
  #23

Не по теме:

Dimmak, давай свой проект, я уверен ты не скачал проект либо скачал и запустил на линковку smbPitchShift.cpp (короче не то ты линкуешь парень)

Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
01.02.2013, 11:24     Ошибка `undefined reference to` #24
Цитата Сообщение от Dimmak Посмотреть сообщение
Да убрал, но появились еще 2:
Все без проблем линкуется (VS 2012)
Ошибка `undefined reference to`


Не по теме:

скриншот, чтобы не говорили, что мы врем всё

Dimmak
 Аватар для Dimmak
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 170
01.02.2013, 12:03  [ТС]     Ошибка `undefined reference to` #25
-=ЮрА=-,
Croessmah,
скриншот, чтобы не говорили, что мы врем всё
Я даже не сомневаюсь в том, что вы говорите правду. И понятное дело, проект рабочий. Просто именно у меня не получается его запустить в силу того, что я не знаю как нужно правильно настроить visual studio или вообще делаю что-то не то что нужно...
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Dimmak, давай свой проект, я уверен ты не скачал проект либо скачал и запустил на линковку
Сейчас это и есть мой проект.
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
(короче не то ты линкуешь парень)
Даже не знаю... Может и так. Правый клик на файле проэкта >> построение или F7

Добавлено через 19 минут
-=ЮрА=- спасибо огромное!
Запустил VS6 - все работает! Когда я открывал в VS 2008 и 2012 программа сообщает о том, что файлы проекта будут изменены для совместимости. Может с этим связано??? Понятия не имею почему и vs 2008 и 2012 выдают ошибки. Переустановлю...
-=ЮрА=-
Заблокирован
Автор FAQ
01.02.2013, 12:13     Ошибка `undefined reference to` #26
Dimmak, смотри поэтапно как собрать экзе из проекта который по твоей ссылке(аналогично собирается уже мой доработанный проект из поста 19)
Так вот
1-е открыл папку с проектом и выбрал этот файл(НИЧЕГО ДРУГОГО!)
2-е если ты открыл в 6-ке то нажми Rebuid Project (Перестроить проект)
2.1 - если открываешь в 9-й-11-й студиях то будет появляться менеджер конвертирования проекта, просто покликай ок в сех тех окнах конвертирования и откажись от просмотра лога.
далее поступай также МЕНЮ:Project(Проект) и пункт RebuildAll(пересроить проект)
3 - юзай получиненный exe

Не по теме:

(Делай всё только на свежескачанном проекте, т.к тот что у тебя сейчас ты уже мог угробить своими линковками)

Миниатюры
Ошибка `undefined reference to`   Ошибка `undefined reference to`  
-=ЮрА=-
01.02.2013, 12:15
  #27

Не по теме:

Цитата Сообщение от Dimmak Посмотреть сообщение
-=ЮрА=- спасибо огромное!
Запустил VS6 - все работает! Когда я открывал в VS 2008 и 2012 программа сообщает о том, что файлы проекта будут изменены для совместимости. Может с этим связано??? Понятия не имею почему и vs 2008 и 2012 выдают ошибки. Переустановлю...
- не за что, когда Я писал пост выше - этого твоего сообщения ещё не видел.
Далее - переустанавливать ничего не надо! Во-первых если у тебя были экспрески - то они могли банально не слинковать, второе - вечером посмотрю что же такого пишет 9-ка. В любом случае во всех версиях НАДО ПЕРЕСТРАИВАТЬ ПРОЕКТ REBUILD т.е.

Dimmak
 Аватар для Dimmak
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 170
02.02.2013, 02:06  [ТС]     Ошибка `undefined reference to` #28
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Во-первых если у тебя были экспрески - то они могли банально не слинковать
Да, и VS9 и VS11 - были экспрески, но даже после того как я удалил VS9 экспресс и установил VS9 PRO выскакивают те же ошибки:
1>smbPitchShift.obj : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl smbFft(float *,long,long)" (?smbFft@@YAXPAMJJ@Z) в функции "void __cdecl smbPitchShift(float,long,long,long,float,float *,float *)" (?smbPitchShift@@YAXMJJJMPAM0@Z)
1>.\Release/smbPitchShift.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
Дело в том, что я устанавливал VS9 на разные диски, те часть установочных файлов на диск 'C', а остальное на 'E'. Из-за этого могут возникать подобные ошибки?
-=ЮрА=-
Заблокирован
Автор FAQ
02.02.2013, 02:50     Ошибка `undefined reference to` #29
Dimmak, вот писал тебе писал
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- не друг собирается код везде, просто уметь надо компилятор настроить. Запомни если собралось в 6-ке на остальных версиях в любом случае должно осбираться, максимум прийдётся поправить типы, ибо новые версии геморны к повышающим преобразованиям типов и всё + люд не уммет иногда переставить с юникода на широкие символы.
и так ты и не понял что это значило.
Вот тебе рабочий проект и забудем о нём на всегда(там и код и экзеха)...

Не по теме:

PS:Dimmak, основные твои недостаки как прогера пока что - не читаешь, что пишут люди с опытом либо не вникаешь, а самый печальный - дебагом вообще не пользуешся. Тебе срочно нужно почитать литературку по работе в студии ИМХО

Миниатюры
Ошибка `undefined reference to`   Ошибка `undefined reference to`  
Вложения
Тип файла: rar smbPitchShift_VS9.0-6.0_project.rar (595.8 Кб, 8 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2013, 04:17     Ошибка `undefined reference to`
Еще ссылки по теме:

C++ Ошибка: undefined reference to `libssh2_session_init_ex'
Ошибка Dev C++ undefined reference C++
C++ Ошибка undefined reference to

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dimmak
 Аватар для Dimmak
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 170
02.02.2013, 04:17  [ТС]     Ошибка `undefined reference to` #30
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
максимум прийдётся поправить типы, ибо новые версии геморны к повышающим преобразованиям типов
Изначальна была ошибка - вызов перегруженной функции. Я ее исправил, и после этого появились другие:
1Неразрешенный внешний символ и 2неразрешенный внешний элемент. Причем если по отдельности компилировать *.cpp файл, то никаких ошибок не возникало.
И только теперь до меня дошло, что эти две ошибки возникали из-за преобразования типов.
Я то по собственной наивности полагал что будет явное указание на ошибку( как в случае с перегруженной 'log' )
если таковая присутствует в коде.
Спасибо -=ЮрА=- в очередной раз. Твоя помощь мне помогла очень сильно.
Yandex
Объявления
02.02.2013, 04:17     Ошибка `undefined reference to`
Ответ Создать тему
Опции темы

Текущее время: 00:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru