Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / ссылка на неразрешенную лексему / 6 сообщений из 6, страница 1 из 1
08.06.2013, 12:59
    #38291245
Medvedev_A
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ссылка на неразрешенную лексему
Есть проект VC++, есть отдельная библиотека .lib Хочу использовать функции из библиотеке в консольном приложении
в CPP файле указал вроде все что нужно
Код: plaintext
1.
2.
#include "test_clr.h"
#pragma comment(lib,"test_clr.lib")



При попытке вызывать функцию из библиотеки выдает ошибку: cons_test.obj : error LNK2028: ссылка на неразрешенную лексему (0A000005) "int __cdecl test_clr::ab(int,int)" (?ab@test_clr@@$$FYAHHH@Z) в функции "int __clrcall main(cli::array<class System::String ^ >^)" (?main@@$$HYMHP$01AP$AAVString@System@@@Z)

В чем может быть проблема?
...
Рейтинг: 0 / 0
08.06.2013, 13:34
    #38291255
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ссылка на неразрешенную лексему
Medvedev_AВ чем может быть проблема?
Ты ещё линкеру должен сказать, что нужно линковать с test_clr.lib.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.06.2013, 14:24
    #38291273
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ссылка на неразрешенную лексему
Dimitry SibiryakovТы ещё линкеру должен сказать, что нужно линковать с test_clr.lib.
Так это и есть указание линкеру:
Код: plaintext
1.
#pragma comment(lib,"test_clr.lib")



Я думаю что дело не в этом, а в том что это managed C++, а там все через ж сложнее
...
Рейтинг: 0 / 0
08.06.2013, 16:20
    #38291312
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ссылка на неразрешенную лексему
Anatoly Moskovsky,

На самом деле это рекомендация линкеру.
Он запросто может им не следовать, если ему ещё что-то сказали, типа уже указания.
...
Рейтинг: 0 / 0
08.06.2013, 17:00
    #38291333
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ссылка на неразрешенную лексему
MasterZivэто рекомендация линкеру.
Он запросто может им не следовать
Линкер может игнорировать эту инструкцию только если ему явно указать ее игнорировать через /nodefaultlib xxx.
Если же запрета нет, то сначала символы резолвятся в либах указанных в ком строке, а потом в прагмах.
Т.е. эффект такой, как если бы вы либы в прагмах дописали в конец ком. строки линкера.
Когда вы в ком строке линкера указываете несколько либ, то у них тоже порядок задает приоритет, но это не значит что менее приоритетные в списке либы являются рекомедациями.
...
Рейтинг: 0 / 0
08.06.2013, 17:01
    #38291334
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ссылка на неразрешенную лексему
Medvedev_A,

Проверьте что папка, в которой находится .lib указана в списке папок для поиска библиотек.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / ссылка на неразрешенную лексему / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]