3 / 3 / 2
Регистрация: 23.12.2013
Сообщений: 26
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Разбиение проекта на файлы23.12.2013, 13:36. Показов 805. Ответов 2
Метки нет Все метки)
(
Нужно разбить проект на файлы main.cpp, struct.cpp(здесь функции), struct.h(библиотеки, структура, прототипы функций). Сам пробовал - постоянно проблемы с линкером. Самостоятельно решения не смог найти. Прошу помочь.
Сам проект (работает корректно):
Проблема все еще актуальна. Как пример: struct.h
Лог Код
1>struct.obj : error LNK2005: "struct NOTE * note" (?note@@3PAUNOTE@@A) already defined in main.obj 1>main.obj : error LNK2028: unresolved token (0A0003C3) "void __cdecl OutputData(struct NOTE,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,class std::basic_ofstream<char,struct std::char_traits<char> > &)" (?OutputData@@$$FYAXUNOTE@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HAAV?$basic_ofstream@DU?$char_traits@D@std@@@3@@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ) 1>main.obj : error LNK2028: unresolved token (0A00043A) "void __cdecl InputData(struct NOTE,int)" (?InputData@@$$FYAXUNOTE@@H@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ) 1>main.obj : error LNK2019: unresolved external symbol "void __cdecl OutputData(struct NOTE,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,class std::basic_ofstream<char,struct std::char_traits<char> > &)" (?OutputData@@$$FYAXUNOTE@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HAAV?$basic_ofstream@DU?$char_traits@D@std@@@3@@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ) 1>main.obj : error LNK2019: unresolved external symbol "void __cdecl InputData(struct NOTE,int)" (?InputData@@$$FYAXUNOTE@@H@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ) 1>C:\4 girls 1 cup [EXTENDED]\horse.exe : fatal error LNK1120: 4 unresolved externals
0
|
|
23.12.2013, 13:36 | |
Ответы с готовыми решениями:
2
Разбиение проекта на файлы
Разбиение проекта на файлы
|
:)
![]() 4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
23.12.2013, 13:46 | 2 |
Массив note[3] должен быть определен 1 раз. А у Вас он создается несколько раз (т.к. определен в хедере, который подключается и в main.cpp, и в struct.cpp).
Реализация InputData/OutputData принимает первым параметром указатель на NOTE (массив передается как указатель на первый элемент). Однако в "прототипах" уже используется передача по значению. Т.о. типы не согласованы и линкер не видит реализации, которая принимает NOTE по значению.
1
|
3 / 3 / 2
Регистрация: 23.12.2013
Сообщений: 26
|
|
23.12.2013, 14:23 [ТС] | 3 |
0
|
23.12.2013, 14:23 | |
23.12.2013, 14:23 | |
Помогаю со студенческими работами здесь
3
Разбиение проекта на .h Разбиение однофайлового проекта на многофаовый (функции). C++
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |