Введение
Привет
Я очень новичок в C ++, это мое первое заявление.
Я изначально начал с VC ++ 2008 Express, я заметил, что GCC становится своего рода стандартом, поэтому я пытаюсь сделать правильные шаги с самого начала.
Я написал фрагмент кода, который подключается к MSSQL Server через ADO, на VC ++ он работает как чудо, импортируя MSADO15.dll:
# import "msado15.dll" no_namespace rename ("EOF", "EndOfFile")
Поскольку я собираюсь перейти с VC ++, я искал альтернативную (в конечном итоге многоплатформенную) IDE, поэтому я придерживаюсь (на этот раз) Code :: Block ( Я использую последнюю ночную сборку, SVN 6181 ).
В качестве компилятора я предпочитаю использовать GCC 3.4.5 (портирован через MinGW 5.1.6) под Vista.
Я пытался скомпилировать простое приложение "hello world" с GCC, которое использует / импортирует тот же файл msado15.dll (#import "c: \ Program Files \ Common Files \ System \ ADO \ msado15.dll" no_namespace rename ( «EOF», «EndOfFile»)) и я был удивлен, увидев множество ошибок во время компиляции.
Я ожидал, что директива компилятора #import сгенерирует библиотеку из "msado15.dll", чтобы она могла ссылаться на нее позже (время редактирования ссылки или что-то еще). Вместо этого он пытался прочитать его как обычный файл (например, заголовочный файл, если хотите), потому что он пытался интерпретировать каждую строку в DLL (которая имеет подпись MZ):
Пример:
Компиляция: main.cpp
E: \ MyPath \ main.cpp: 2: 64: предупреждение: дополнительные токены в конце директивы #import
В файле из E: \ MyPath \ main.cpp: 2:
c: \ Program Files \ Common Files \ System \ ADO \ msado15.dll: 1: ошибка: отклонение '\ 144' в программе
В файле из E: \ MyPath \ main.cpp: 2:
c: \ Program Files \ Common Files \ System \ ADO \ msado15.dll: 1: 4: предупреждение: нулевые символы игнорируются
c: \ Program Files \ Common Files \ System \ ADO \ msado15.dll: 1: ошибка: отклонение '\ 3' в программе
c: \ Program Files \ Common Files \ System \ ADO \ msado15.dll: 1: 6: предупреждение: нулевые символы игнорируются
c: \ Program Files \ Common Files \ System \ ADO \ msado15.dll: 1: ошибка: отклонение '\ 4' в программе
...
и т. д.
МОЙ ВОПРОС
Что ж, очевидно, что в этой версии GCC директива #import не выполняет ожидаемую работу (возможно, #import больше не поддерживается GCC), поэтому, наконец, мой вопрос:
- как использовать ADO для доступа к базе данных MSSQL в программе на C ++, скомпилированной с GCC (v3.4.5)?