Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] Boost проект под windows, подскажите с чего начать 
V
    Опции темы
null56
Дата 8.9.2009, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



мда.... зато не видит
Код

wcsnlen

похоже без студии не обойтись... обидно
PM MAIL   Вверх
andrew_121
Дата 8.9.2009, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(null56 @  8.9.2009,  15:42 Найти цитируемый пост)
мда.... зато не видит
Выделить всёкод C++
1:
    
wcsnlen

В Mingw нет этой функции. Но есть wcslen(wchar.h)

Добавлено через 1 минуту и 26 секунд
Если планируешь использовать boost, установи какую-нибудь IDE. Иначе устанешь пути прописывать. Или Makefile напиши.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
andrew_121
Дата 8.9.2009, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Если тебе очень нужна wcsnlen, можешь сделать так:
Код

size_t wcsnlen(const wchar_t *s, size_t maxlen) {
   const wchar_t *p(s);
   while (*p && maxlen-- > 0) p++;
   return p - s;
}



Это сообщение отредактировал(а) andrew_121 - 8.9.2009, 18:26


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
null56
Дата 8.9.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



andrew_121,  да, спасибо... я собрал каким - то раком через мингв... 
сейчас пытаюсь тоже самое из студии сделать.... но столько ошибок он мне показал
пробую собрать... сейчас первое что бросилось в глаза, так это отсутсвие вывода в консоль... надо разобраться
по поводу IDE надо обязательно... 
Для g++ я указал пути к бусту в проекте Qt
PM MAIL   Вверх
andrew_121
Дата 8.9.2009, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(null56 @  8.9.2009,  18:40 Найти цитируемый пост)
да, спасибо... я собрал каким - то раком через мингв... 

 smile 

Цитата(null56 @  8.9.2009,  18:40 Найти цитируемый пост)
сейчас пытаюсь тоже самое из студии сделать.... но столько ошибок он мне показал

По поводу студии многово подсказать не смогу. Сам ее около двух недель юзаю.

Цитата(null56 @  8.9.2009,  18:40 Найти цитируемый пост)
первое что бросилось в глаза, так это отсутсвие вывода в консоль

не понял...

Добавлено через 1 минуту и 26 секунд
я тут подумал. за все время программирования, мне ни разу не приходилось использовать wcsnlen. мысли в слух...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
null56
Дата 8.9.2009, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



Цитата

не понял...

отладочную печать не видно, через функцию wcout...

в студии что - то опять отличается или недописано
Код

class Attributes : public std :: map<std :: wstring, std :: wstring>
    {
    typedef std :: pair<std :: wstring, std :: wstring> Attribute;
    public:
        /** Констуктор по умолчанию */
        Attributes() {}
        /** Конструктор принимает атррибут: имя <-> значение*/
        Attributes(const std :: wstring & rName, const std :: wstring & rValue) { insertAttribute(rName, rValue); }
        /** Деструктор */
        ~Attributes() {}
        /** вставка имени -> значения */
        void insertAttribute(const std :: wstring & rName, const std :: wstring & rValue)// { insert(Attribute(rName, rValue)); }
    };

Метод insertAttribute вызывает 50 ошибок... не может найти оператор < ни в одном контейнере... ХЗ короче
Цитата

Error    22    error C2784: 'bool std::operator <(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : could not deduce template argument for 'const std::pair<_Ty1,_Ty2> &' from 'const std::wstring'    c:\program files\microsoft visual studio 9.0\vc\include\functional    143
...........
Error    34    error C2784: 'bool std::operator <(const std::deque<_Ty,_Alloc> &,const std::deque<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::deque<_Ty,_Alloc> &' from 'const std::wstring'    c:\program files\microsoft visual studio 9.0\vc\include\functional    143
...........
и тд


PM MAIL   Вверх
andrew_121
Дата 8.9.2009, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(null56 @  8.9.2009,  19:46 Найти цитируемый пост)
отладочную печать не видно, через функцию wcout...

ну да. я тоже недавно этим интересовался. вот: http://forum.vingrad.ru/forum/topic-269840.html

Цитата(null56 @  8.9.2009,  19:46 Найти цитируемый пост)
не может найти оператор < ни в одном контейнере... ХЗ короче

это говорит о том что, нужно перегрузить operator< (const Attribute&, const Attribute&)

Добавлено через 1 минуту и 8 секунд
Цитата(null56 @  8.9.2009,  19:46 Найти цитируемый пост)
void insertAttribute(const std :: wstring & rName, const std :: wstring & rValue)

покажи тело


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
null56
Дата 8.9.2009, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



Цитата

покажи тело 

то что в комментарии, случайно закоментил
Код

insert(Attribute(rName, rValue));


и на последок сегодня
подцепил буст, указав дополнительные include директории и вот тебе получаю чудеса
Цитата

LINK : fatal error LNK1104: cannot open file 'libboost_regex-vc90-mt-gd-1_40.lib'

хы... а это зачем ему, если всё хедер онли.... в проекте qt, когда я собирал через мингв, никаких либ не указывал... только 
Цитата

INCLUDEPATH += . \
    C:\boost\boost_1_40_0\

Что за чудеса от студии???
PM MAIL   Вверх
andrew_121
Дата 8.9.2009, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(null56 @  8.9.2009,  20:20 Найти цитируемый пост)
а это зачем ему, если всё хедер онли

не все хидеронли.

Цитата(Lazin @  3.9.2009,  19:16 Найти цитируемый пост)
boost.regex нужно собирать, boost.xpressive - не нужно, алгоритмы для строк не нужно собирать


Цитата(Lazin @  3.9.2009,  19:16 Найти цитируемый пост)
прописывать пути к boost-у нужно не в самом проекте, хотя так то-же можно, а в настройках студии - там можно задать список путей по которым студия будет искать заголовочные и lib файлы, для разных архитектур и конфигураций 




--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Lazin
Дата 8.9.2009, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 2
Всего: 154



Цитата(null56 @  8.9.2009,  19:46 Найти цитируемый пост)
Метод insertAttribute вызывает 50 ошибок... не может найти оператор < ни в одном контейнере... ХЗ короче
а с каких это пор, у std::pair появился оператор сравнения? smile 

Цитата(null56 @  8.9.2009,  20:20 Найти цитируемый пост)
подцепил буст, указав дополнительные include директории и вот тебе получаю чудеса
просто ты не прописал путь к lib файлам

user posted image
PM MAIL Skype GTalk   Вверх
andrew_121
Дата 8.9.2009, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Lazin, это будет доступно всем созданным и создаваемым проектам?

п.с.
в паинте рисовали? симпотно получилось smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
null56
Дата 8.9.2009, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



Lazin, а в gcc у меня этот фокус прошел )

Цитата

просто ты не прописал путь к lib файлам

Lazin, для мингв я это не указывал... в чем разница....?
лично смотрел сегенерированный qt make файл... нигде он их не цепляет... для чего они студии инетересно

Это сообщение отредактировал(а) null56 - 8.9.2009, 21:34
PM MAIL   Вверх
andrew_121
Дата 8.9.2009, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(null56 @  8.9.2009,  21:29 Найти цитируемый пост)
а в gcc у меня этот фокус прошел ) 

там да, это работает.
Код

  /// <http://gcc.gnu.org/onlinedocs/libstdc++/manual/utilities.html>
  template<class _T1, class _T2>
    inline bool
    operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
    { return __x.first < __y.first
         || (!(__y.first < __x.first) && __x.second < __y.second); }



Добавлено через 3 минуты и 25 секунд
дык. у меня в 2008 студии тоже есть:
Код

template<class _Ty1,
    class _Ty2> inline
    bool operator<(const pair<_Ty1, _Ty2>& _Left,
        const pair<_Ty1, _Ty2>& _Right)
    {    // test if _Left < _Right for pairs
    return (_Left.first < _Right.first ||
        !(_Right.first < _Left.first) && _Left.second < _Right.second);
    }


ты какую используешь?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
null56
Дата 8.9.2009, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



2008 )))
интересно.... я конечно уже избавился от map в пользе list,  но всё же интересно
я в студии делаю пустой проект (empty project), без всяких прекомпилов... это может влиять???

еще вопрос... если в мингв на винде у меня нигде либы не цепляются, почему сейчас студия цепляет?

Добавлено через 2 минуты и 37 секунд
может речь идет об операторе "<" для basic_string<T>?
http://www.cplusplus.com/reference/string/string/

Добавлено через 3 минуты и 2 секунды
у меня first как раз строка....
PM MAIL   Вверх
null56
Дата 9.9.2009, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



и еще момент уже на стадии линковки
получаю кучу unresolvов
Цитата

NMapHandler.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall QXmlDefaultHandler::comment(class QString const &)" (?comment@QXmlDefaultHandler@@UAE_NABVQString@@@Z)
NMapHandler.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall QXmlDefaultHandler::attributeDecl(class QString const &,class QString const &,class QString const &,class QString const &,class QString const &)" (?attributeDecl@QXmlDefaultHandler@@UAE_NABVQString@@0000@Z)
NMapHandler.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall QXmlDefaultHandler::internalEntityDecl(class QString const &,class QString const &)" (?internalEntityDecl@QXmlDefaultHandler@@UAE_NABVQString@@0@Z)
NMapHandler.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall QXmlDefaultHandler::externalEntityDecl(class QString const &,class QString const &,class QString const &)" (?externalEntityDecl@QXmlDefaultHandler@@UAE_NABVQString@@00@Z)

NMapHandler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __thiscall QBasicAtomicInt::operator!=(int)const " (__imp_??9QBasicAtomicInt@@QBE_NH@Z) referenced in function "public: void __thiscall QVector<enum NMapHandler::Position>::append(enum NMapHandler::Position const &)" (?append@?$QVector@W4Position@NMapHandler@@@@QAEXABW4Position@NMapHandler@@@Z)
NMapHandler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl qFree(void *)" (__imp_?qFree@@YAXPAX@Z) referenced in function "private: void __thiscall QVector<enum NMapHandler::Position>::free(struct QVectorTypedData<enum NMapHandler::Position> *)" (?free@?$QVector@W4Position@NMapHandler@@@@AAEXPAU?$QVectorTypedData@W4Position@NMapHandler@@@@@Z)
NMapHandler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl qt_assert(char const *,char const *,int)" (__imp_?qt_assert@@YAXPBD0H@Z) referenced in function "public: enum NMapHandler::Position __thiscall QStack<enum NMapHandler::Position>::pop(void)" (?pop@?$QStack@W4Position@NMapHandler@@@@QAE?AW4Position@NMapHandler@@XZ)

около 60... хотя путь на либы Qt я указал
Цитата

Library Files: C:\Qt\4.5.2\lib

Ему что конвенция вызова не нравится???
Кто умудрялся собирать Qt, были подобные проблемы?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0958 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.