2016-01-26 12 views
0

Я использую API базы данных геоданных в своем собственном приложении MFC C++ (которое только считывает данные из папок .gdb). Я включил все заголовки и библиотеки, необходимые для api в разделе «Свойства проекта». (за исключением файлов FileGDBAPI.dll и FileGDBAPID.dll, потому что я не знаю для них директорию include). Там нет ошибки во время компиляции, но когда я создаю какой-либо объект из FileGDBAPI (например БАЗАМИГЕОДАННЫХ: геоданных;), я получаю сообщение об ошибкеОшибка базы данных базы геоданных

«appliaction не смог правильно запустить (0xc000007b) Нажмите кнопку OK, чтобы закрыть окно. заявка "

Может кто-нибудь, пожалуйста, сообщите мне, что я игнорирую или что-нибудь, что может привести к этой ошибке. Как я могу добавить файлы * .dll, связанные с API геоданных файлов?

+0

Эта ошибка указывает на несоответствие между вашим приложением и DLL, которые вы пытаетесь использовать. Оба они построены для одной и той же платформы (32 бит? 64 бит?) – rrirower

ответ

0

Ошибка, которую вы получаете, - это код NTSATUS. Символьная константа для 0xC000007B является STATUS_INVALID_IMAGE_FORMAT, с сообщением об ошибке сопровождающим:

{Bad Image}
% ГВ либо не предназначен для работы на Windows, или содержит ошибку. Попробуйте снова установить программу, используя исходный установочный носитель, или обратитесь за помощью к системному администратору или поставщику программного обеспечения.

Эта ошибка обычно возникает, когда 32-разрядное приложение пытается загрузить 64-разрядную DLL или наоборот.

Для решения этой проблемы необходимо скопировать DLL с помощью соответствующей биткости в каталог приложения. Если вы компилируете для 64-битных, вам нужно скопировать 64-разрядные библиотеки DLL, если вы компилируете для 32-разрядных, используйте 32-разрядные библиотеки DLL.

Смежные вопросы