Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сосуществование кода на С и С++

1.2K
01 октября 2005 года
BigBug
93 / / 30.07.2004
Помогите разобраться с такой проблемой.
Есть код написанный на С (*.С и *.H файлы).
Пытаюсь включить их в код на С++.
Вписываю в СРР файл include и получаю сразу около 300
ошибок.
Что я не так делаю ?
299
01 октября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by BigBug
Помогите разобраться с такой проблемой.
Есть код написанный на С (*.С и *.H файлы).
Пытаюсь включить их в код на С++.
Вписываю в СРР файл include и получаю сразу около 300
ошибок.
Что я не так делаю ?


Покажи свои ошибки.

1.2K
01 октября 2005 года
BigBug
93 / / 30.07.2004
Цитата:
Originally posted by 3D Bob
Покажи свои ошибки.




common.h(23) : error C2146: syntax error : missing ';' before identifier 'dwProcessId'
common.h(23) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(23) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(24) : error C2146: syntax error : missing ';' before identifier 'dwInheritedFromProcessId'
common.h(24) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(24) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(25) : error C2146: syntax error : missing ';' before identifier 'flags'
ccommon.h(25) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(25) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(26) : error C2146: syntax error : missing ';' before identifier 'hwnd'
common.h(26) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(26) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(27) : error C2146: syntax error : missing ';' before identifier 'ProcessName'
common.h(27) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(27) : error C2065: 'MAX_PATH' : undeclared identifier
common.h(27) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(28) : error C2146: syntax error : missing ';' before identifier 'WindowTitle'
common.h(28) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(28) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(33) : error C2146: syntax error : missing ';' before identifier 'numtasks'
common.h(33) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(33) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
common.h(40) : error C2065: 'LPGetTaskList' : undeclared identifier
common.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
ccommon.h(40) : error C2143: syntax error : missing ';' before '('
common.h(40) : error C2226: syntax error : unexpected type 'PTASK_LIST'
common.h(40) : error C2059: syntax error : ')'
common.h(41) : error C2065: 'LPEnableDebugPriv' : undeclared identifier
common.h(41) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

1.2K
01 октября 2005 года
BigBug
93 / / 30.07.2004
Цитата:
Originally posted by BigBug
Помогите разобраться с такой проблемой.
Есть код написанный на С (*.С и *.H файлы).
Пытаюсь включить их в код на С++.
Вписываю в СРР файл include и получаю сразу около 300
ошибок.
Что я не так делаю ?




С диким количеством ошибок разобрался.
просто нужно было переместить инклюды в хидер.
но что делать с этим :
[COLOR=blue]Linking...
test.obj : error LNK2019: unresolved external symbol "int __cdecl KillByName(char *)" (?KillByName@@YAHPAD@Z) referenced in function _main[/COLOR]

406
01 октября 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by BigBug
С диким количеством ошибок разобрался.
просто нужно было переместить инклюды в хидер.
но что делать с этим :
[COLOR=blue]Linking...
test.obj : error LNK2019: unresolved external symbol "int __cdecl KillByName(char *)" (?KillByName@@YAHPAD@Z) referenced in function _main[/COLOR]


найти хидер с прототипом данной функции и заинклюдить данный хидер где используется данная ыункция. и затем пересобрать(rebuild) проект

1.2K
01 октября 2005 года
BigBug
93 / / 30.07.2004
Цитата:
Originally posted by vitaly2003s
найти хидер с прототипом данной функции и заинклюдить данный хидер где используется данная ыункция. и затем пересобрать(rebuild) проект



Но я ведь так и делаю :x
И что ещё интересно что когда main находится не в *.CPP а в *.C прога строится нормально.
Что происходит ???

430
02 октября 2005 года
craftyfox
157 / / 20.02.2000
Цитата:
Originally posted by vitaly2003s
найти хидер с прототипом данной функции и заинклюдить данный хидер где используется данная ыункция. и затем пересобрать(rebuild) проект


нет, линкер не нашел реализацию, а не прототип

проверь, не отличаются ли чем-либо прототипы от реализации.

1.2K
02 октября 2005 года
BigBug
93 / / 30.07.2004
Цитата:
Originally posted by craftyfox
нет, линкер не нашел реализацию, а не прототип

проверь, не отличаются ли чем-либо прототипы от реализации.



А что именно нужно проверить ?
Сами файлы вроде в порядке.
Никаких синтаксических ошибок не найдено.

430
02 октября 2005 года
craftyfox
157 / / 20.02.2000
Цитата:
Originally posted by BigBug
А что именно нужно проверить ?
Сами файлы вроде в порядке.
Никаких синтаксических ошибок не найдено.


попробуй добавить к прототипу extern "C"

1.2K
03 октября 2005 года
BigBug
93 / / 30.07.2004
Цитата:
Originally posted by craftyfox
попробуй добавить к прототипу extern "C"




Это хорошая мысль.
Если кому интересно подробности здесь:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccelng/htm/basic_17.asp?frame=true

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог