| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Немогу скомпилировать проект в студии |
| Автор: mhalion 28.10.2007, 19:19 |
| Имею чужие исходники. Есть много много заголовочных-файлов и файлов с описанием. Нужно просто вызвать одну из процедур, которая, например, объявлена в файле HEAD1.h. А её описание идет в файле SRC2.c. Я добавляю просто все в свою папку с проектом, добавляю все исходники в проект для студии (хоть 2005, хоть 6.0). Компилю и получаю ошибку сборки (linking'а): "unresolved external symbol "void __cdecl procedure_sample(void)"" ну и все. Кабздец что за фигня такая. Что я мог забыть прописать??? |
| Автор: mhalion 28.10.2007, 19:49 |
| В результате долгих размышлений понял, что проект компилируется при отсутствии в проекте файлов с расширением СРР. Т.е. если есть хоть один, то проект не компилируется ваще. Что в настройках проекта можно поправить, т.к. у меня все файлы с расширением СРР? |
| Автор: mhalion 28.10.2007, 20:08 |
| Что приводить реальные примеры если дело в том что проект не собирается если есть файлы СРР. А если все с расширением С, то все ОК. У меня WINDOWS приложение, а исходники типа для С. Хотя какая разница я недогоняю |
| Автор: Alek86 28.10.2007, 20:19 | ||
красиво архимеда подловил правда я, к примеру, ниче не понял. проект под студию или под какую среду разработки? что пишет? |
| Автор: archimed7592 28.10.2007, 20:27 | ||||
Вот и не бухти
Так сразу и сказал бы... Я подумал, что он у тебя компилируется когда есть одни только *.h файлы. Разница есть - name mangling. extern "C" пользоваться умеешь? |
| Автор: mhalion 28.10.2007, 20:28 |
| У меня под студию. Исходники дали и сказали:"НА..." Исходники могут компилироваться где угодно. Там только "Н" и "С" файлы. НО просто у меня проект уже собирается в студии. А у меня файлы "CPP" и "Н". Если просто подключить заголовочные файлы, то при сборке выдается ошибка. НО если теже исходники взять и и подключить к проекту где нету файлов CPP, то все норм... И дело ни в версии студии я уже во всех попробовал. А в чужих исходниках не используются никакие дополнительные библиотеки. Просто хитро выполняется работа с памятью. Что подправить??? Добавлено через 2 минуты и 29 секунд Блин, мне что придется исходники рыть??? Добавлено через 12 минут и 56 секунд Все понял... Что-то тупанул жестко с последним: extern "C" { #include "..." } И усё ОК)) СПАСИБО |
| Автор: archimed7592 28.10.2007, 20:42 | ||
Думаю это не связано с тем, что не компилируется проект Ещё раз спрашиваю: extern "C" пользоваться умеешь?
Добавлено через 45 секунд Всегда пожалста. |
| Автор: marcusmae 28.10.2007, 20:43 |
| mhalion, тебя спрашивают, что за студия под которую ты компилишь, а ты отвечаешь Информативно. Просто, студий много. Например, у MVS в свойствах проекта на вкладке Configuration Properties->C/C++->Advanced есть настройка Compile As c возможными значениями Compile as C++ Code и Compile as C Code... В частности это касается упомянутого archimed7592ом декорирования имён функций. |
| Автор: archimed7592 28.10.2007, 20:50 |
| marcusmae, сегодня видимо не один я с запозданием посты пишу |
| Автор: marcusmae 28.10.2007, 20:58 |
| |
| Автор: mhalion 28.10.2007, 21:01 |
| гыгыгы smile. На мои тупые вопросы в разделе Delphi хоть отвечают без опозданий |