2012-11-06 14 views
0

У меня есть приложение ProCharts, которое может читать и получать доступ к файлам из dll C++. Теперь , если я что-то добавить, как это и скомпилировать DLL в режиме x64. (VS2010-> Win32 Console App-> DLL)Экспорт функций в dll. C и C++

int __stdcall Testb(int v) 
{ 
    return v; 
} 

, а затем определить, что в Защиту файл .The функция вызывается из это приложение без проблем.

Однако, если у меня есть что-то вроде этой функции в том же файле (его имя также присутствует в файле четкости)

int __stdcall AdvancedFunction(int v) 
{ 
      //Calling a library that requires other libraries such as boost 
      return ..; 
} 

тогда даже первая функция не будет вызвана, и приложение вызова только DLL указывает на наличие ошибки в dll. Может ли кто-нибудь сказать мне, что может быть не так? Я поместил все зависимости с файлом dll, но я все еще получаю сообщение об ошибке. Я использовал средство проверки зависимостей, и он утверждает, что две функции - это c-функции, а не C++, любые предложения или подсказки о том, как я могу решить эту проблему, будут высоко оценены.

+0

Для начала, может быть, вы можете отправить сообщение _what_, что вы получаете? –

+0

Вы пытались использовать '__declspec (dllexport)', '__declspec (dllimport)'? Должно быть проще, чем поддерживать отдельный файл _def_ –

+0

@JoachimPileborg, как я уже сказал, что программа, которую я использую, не является информативной, и я получаю сообщение «Не могу прочитать файл dll», что означает, что с dll что-то не так. –

ответ

1

После вставки зависимостей и других файлов DLL в основную папку ProCharts моя библиотека работала.

+0

Отлично, что вы работаете. рад помочь. – WhozCraig

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