Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не видно функций из shell32.lib, unresolved external symbol 
:(
    Опции темы
rudolfninja
Дата 21.10.2013, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

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



Добрый день.
Столкнулся с такой проблемой: нужно в Qt использоваться функции из библиотеки shell32.lib. Подключил в .h файл класса, где используются эти функции shellapi.h.
В .pro файл проекта добавил 

Цитата

LIBS += -L"C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Lib/"-lshell32


Так же пробовал указывать путь напрямую

Цитата

LIBS += -L"C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Lib/x64"-lshell32


В общем, пробовал по-всякому.

При попытке собрать проект вылетает ошибка

Цитата

dirmanager.obj : error LNK2019: unresolved external symbol __imp__SHFileOperationA@4 referenced in function "public: bool __thiscall DirManager::remove_file(char *)" (?remove_file@DirManager@@QAE_NPAD@Z)


Вот код функции remove_file
Код

bool DirManager::remove_file(char* path)
{
    std::string fname(path);
    fname.push_back('\0');
    fname.push_back('\0');

    SHFILEOPSTRUCTA file_op_struct;
    file_op_struct.hwnd = NULL;
    file_op_struct.wFunc = FO_DELETE;
    file_op_struct.pFrom = fname.c_str();
    file_op_struct.pTo = NULL;
    file_op_struct.fFlags = FOF_SILENT | FOF_NOERRORUI | FOF_ALLOWUNDO | FOF_NOCONFIRMATION;

    return bool(SHFileOperationA(&file_op_struct));
}


Если кто знает как решить проблему, подскажите пожалуйста.

P.S. компилятор MSVC2012

Спасибо.
PM MAIL Skype   Вверх
rudolfninja
Дата 21.10.2013, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

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



Решил проблему просто скопировав эту библиотеку в другую папку и указав новый путь. Почему так сработало - не знаю.
PM MAIL Skype   Вверх
bsa
Дата 21.10.2013, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



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

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

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


 




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


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

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