Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Помогите слинковать библиотеку


Автор: MaxS 14.5.2009, 11:53
Здравствуйте! 
Пишу на c++. Есть библиотека (Chilkat, lib файлы). Есть два пустых проекта: консольный и WinForms. Подключение библиотеки к консольному проекту проблем не вызывает, все отлично линкуется и работает. А вот подключить эту же библиотеку к проекту WinForms не получается, при попытке слинковать появляются ошибки:
Код

1>formaltest.obj : error LNK2028: unresolved token (0A000016) 
"public: virtual __clrcall CkString::~CkString(void)"
 (??1CkString@@$$FUAM@XZ) referenced in function 
"public: __clrcall formaltest::Form1::Form1(void)" (??0Form1@formaltest@@$$FQ$AAM@XZ)
1>formaltest.obj : error LNK2028: unresolved token (0A000017) 
"public: __clrcall CkString::CkString(void)" 
(??0CkString@@$$FQAM@XZ) referenced in function 
"public: __clrcall formaltest::Form1::Form1(void)" (??0Form1@formaltest@@$$FQ$AAM@XZ)
1>formaltest.obj : error LNK2019: unresolved external symbol 
"public: virtual __clrcall CkString::~CkString(void)"
 (??1CkString@@$$FUAM@XZ) referenced in function 
"public: __clrcall formaltest::Form1::Form1(void)" (??0Form1@formaltest@@$$FQ$AAM@XZ)
1>formaltest.obj : error LNK2019: unresolved external symbol 
"public: __clrcall CkString::CkString(void)" 
(??0CkString@@$$FQAM@XZ) referenced in function 
"public: __clrcall formaltest::Form1::Form1(void)" (??0Form1@formaltest@@$$FQ$AAM@XZ)

Возможно ли это исправить? Или это неизлечимо? Помогите, пожалуйста, решить эту проблему. Очень нужно использовать эту библиотеку с WinForms...

Автор: DVariuS 14.5.2009, 12:00
MaxS, попробуй добавить 
Код

#pragma comment( lib, "имя_библиотеки.lib" )

Автор: MaxS 14.5.2009, 12:22
Ничего не изменилось :(

Автор: DVariuS 14.5.2009, 12:23
Выложи проект - я гляну.

Автор: MaxS 14.5.2009, 12:49
Проект выложил сюда: http://maxs.front.ru/Form-Chilk-test.7z    - 3мб
Библиотеку брал отсюда: http://www.chilkatsoft.com/download/ChilkatVC8.zip       -20мб

Автор: DVariuS 14.5.2009, 13:56
Э-э-э... Похоже я понял. Если ты хочешь писать на managed C++, скачай http://www.chilkatsoft.com/download/ChilkatDotNet2.msi.

Автор: MaxS 14.5.2009, 14:23
.net версия у меня выдает ошибку 
Код

1>ChilkatDotNet2.dll : fatal error LNK1302: only support linking safe .netmodules; unable to link ijw/native .netmodule

А обычную все таки никак не прилинковать?

Автор: DVariuS 14.5.2009, 14:28
Цитата(MaxS @  14.5.2009,  14:23 Найти цитируемый пост)
А обычную все таки никак не прилинковать? 

Использовать unmanaged функции в .NET - последнее дело, тем более, что есть managed аналог библиотеки.
З.Ы. Если чесно, я в C++ не силен - сейчас попробую использовать эту библиотеку в прокте на c#.

Автор: DVariuS 14.5.2009, 14:58
У меня в сишарпе .NET библиотека работает. 

Цитата(MaxS @  14.5.2009,  14:23 Найти цитируемый пост)
net версия у меня выдает ошибку 
код C++
1:

1>ChilkatDotNet2.dll : fatal error LNK1302: only support linking safe .netmodules; unable to link ijw/native .netmodule

Посмотри http://msdn.microsoft.com/en-us/library/9x035d1s(vs.80).aspx.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)