Ошибка ссылки 2001 на CLSID от моего другого DLLC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка ссылки 2001 на CLSID от моего другого DLL

Сообщение Anonymous »

У меня есть 2 DLL. Я хочу создать экземпляр класса во втором DLL, который я объявляю в файле .idl First Library. Но я получаю ошибку Link 2001 на CLSID, когда пытаюсь связать второй DLL. Я связываюсь с первым DLL, поэтому я не знаю, почему я получаю эту ошибку.

Код: Выделить всё

[uuid(61AF2A3E-8B04-4161-B978-5776BFDF7DB5), helpstring("StockObjectManager Class")]
coclass StockObjectManager
{
[default] interface IStockObjectManager;
interface ISQLBase;
};
< /code>
Сгенерированные файлы: < /p>
stock.h
EXTERN_C const CLSID CLSID_MazStockObjectManager;
< /code>
stock_i.c
MIDL_DEFINE_GUID(CLSID, CLSID_StockObjectManager,0x61AF2A3E,0x8B04,0x4161,0xB9,0x78,0x57,0x76,0xBF,0xDF,0x7D,0xB5);
< /code>
filefromseconddll.cpp
CComPtr m_SOManager;
m_SOManager.CoCreateInstance(CLSID_StockObjectManager); // getting Error Link 2001 unresolved external symbol "_CLSID_StockObjectManager"
< /code>
Я хочу понять, почему я получаю эту ошибку и исправляю ее. Конечно, я могу просто #include "stock_i.c" 
, но это не хорошее решение, я думаю.

Подробнее здесь: https://stackoverflow.com/questions/796 ... nother-dll
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»