не могу скомпилить рабочую прогу.
Дано:
- два .h файла - в которых нужные мне функции.
- одноименные .lib и .dll файлы )
- тестовый .с файл, где показано использование всех функций.
Не могу откомпилить даже тестовый файл.
получаю ошибки (подобные: error C2059: syntax error : 'string'
) к строкам h-файла, где ошибок какбы быть не должно:
extern "C" DWORD cdecl rdtick ( void );
extern "C" DWORD cdecl htonl (DWORD );
extern "C" WORD cdecl htons ( WORD );
решив что дело в неподключенном .lib сделал:
#include <string>
#include "***.h" - он вызывает файл с ошибками
#pragma comment(lib, "***.lib")
в итоге ошибка одна:
fatal error C1189: #error : "eh.h is only for C++!"
что такое?%) Лыжи не едут?... или... все диствительно так плохо?%))
Компилил в ВижлСи 6.0, как и разработчики...
Fatal Error C1189
#error : user supplied error message
This error message is generated when there is an #error directive in the program. For example:
#undef _WIN32
#if !defined(_WIN32)
#error _WIN32 must be defined //error
#endif
int main() {
return 0;
}
то есть в переводе это означает, что у Тебя в проге этот эррор прописал програмист.
Вобщем найди там что-то типа
#if ... тут какое-то условие
#error eh.h is only for C++!
#endif
тогда будет видно в чем причина
Может файл *.c переименовать в *.cpp ???
Цитата:
Originally posted by Matush
Вобщем найди там что-то типа
#if ... тут какое-то условие
#error eh.h is only for C++!
#endif
тогда будет видно в чем причина
Вобщем найди там что-то типа
#if ... тут какое-то условие
#error eh.h is only for C++!
#endif
тогда будет видно в чем причина
да видел...
ошибка ссылается на сам eh.h...
там условие примерно:
#ifndef __cplusplus
переименование файла естессно не помогла %)
всеже нашел проект уже собранный... отпала необходимость самому это дело собирать.
Хотя всеже ... совисть мучает, что не понял почему не работает %))