Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
technos
0 / 0 / 0
Регистрация: 24.09.2010
Сообщений: 70
#1

Не линкуется проект с Use Unicode Character Set - C++

03.02.2012, 12:00. Просмотров 1148. Ответов 1
Метки нет (Все метки)

Такая проблема:

1) Есть проект (dll) в котором объявлен и описан метод класса CMyClass:
Код
SetStr(CString str);
как вариант
Код
SetStr(LPCTSTR str);
2) В другом проекте (тоже dll) вызывается этот метод

Оба проекта компиллируются. Первый собирается, а второй - нет.
Сообщение при линковке:
error LNK2019: unresolved external symbol "public: static void __cdecl CMyClass::SetStr(unsigned short const *)...

Интересно еще и то, что возникает ошибка при линковке только тех функций, где в параметрах есть CSTring и т.п. Все остальные функции при линке проблем не вызывают.

Никак не могу понят почему. Помогите, пожалуйста разобраться.

Оба проекта имеют свойство Use Unicode Character Set.
Естественно, все *.lib подключаются верно и пути к *.h указаны. До того как свойство Use Unicode Character Set было установлено (раньше было Use Multi-Byte Character Set) сборка проходила успешно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2012, 12:00     Не линкуется проект с Use Unicode Character Set
Посмотрите здесь:

C++ [Warning] multi-character character constant
не линкуется класс с static членами C++
C++ поменять в настройке Character Set на Use Multy-Byte Character Set
Error: Unresolved external 'character::character(int)' C++
multi-character character constant C++
Не могу исправить ошибку(error C2137: empty character constant) C++
[Warning] character constant too long for its type C++
C++ Отключить предупреждение (character constant too long for its type [enabled by default])
Деструктор шаблона описанный в отдельном файле не линкуется. Почему? C++
Операторы if и char - Multi-character character constant C++
Вылезает: [Warning] character constant too long for its type C++
C++ Dev-C++ выдает ошибку error: converting to execution character set: Illegal byte sequence

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
technos
0 / 0 / 0
Регистрация: 24.09.2010
Сообщений: 70
05.02.2012, 12:23  [ТС]     Не линкуется проект с Use Unicode Character Set #2
В свойствах проекта в разделе С/С++ есть параметр Treat wchar_t as Built-in Type. Поставил значение No и все собралось.
В рамках описанной выше задачи — это было сделано в первом проекте, чьи методы вызывались.
Yandex
Объявления
05.02.2012, 12:23     Не линкуется проект с Use Unicode Character Set
Ответ Создать тему
Опции темы

Текущее время: 00:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru