Russian Qt Forum
Ноябрь 22, 2024, 23:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Компиляция с Qt 4.2.0  (Прочитано 12196 раз)
enola
Гость
« : Декабрь 14, 2006, 08:13 »

Поставил данную версию с qt-vsintegration-1.2.0 при компиляции проекта, созданного мастером в VS2005, вылетает ошибка:
Цитировать
1>LINK : fatal error LNK1181: cannot open input file 'QtCored.lib'
что за ... ?
С 4.1.4 такого не наблюдалось.
Да еще приходится запускать VS2005 через ярлык в папке Qt - Visual Studio with Qt 4.2.0, можно как-нибудь сделать, чтоб без него работало?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Декабрь 14, 2006, 09:44 »

нифига не понял...
можно поподробнее - как проект создается, что за ярлык и т.д.?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
enola
Гость
« Ответ #2 : Декабрь 14, 2006, 10:39 »

По порядку:[list=1]
  • Запускаю Visual Studio 2005 через ярлык Пуск->Qt by Trolltech v4.2.0 (VS2005)->Visual Studio with Qt 4.2.0
  • Создаю проект Qt Application в Visual Studio 2005 через мастер. Все установки по умолчанию.
  • Пытаюсь его компилировать, выдает ошибку:
Цитировать
1>LINK : fatal error LNK1181: cannot open input file 'QtCored.lib'
[/list:o]
До этого стояла Qt 4.1.4 все было нормально.
Если просто запустить VS, то ругается на переменную QtDir.

Хочется:[list=1]
  • Запускать VS не через ярлык
  • Компильнуть пустой проек
Записан
Dendy
Гость
« Ответ #3 : Декабрь 14, 2006, 13:55 »

Наверное ляпьІ с путями. Сейчас угадаю - ярльІк создал интегратор. Я к примеру интегратором никогда не пользуюсь, без него гораздо проще. Проверь что именно запускает ярльІк, какие переменньІе окружения он ставит. Стоит ли в системе переменная QTDIR. Стоят ли в настройках проекта Linker->General->Additional Library Directories пути к папке с либами Qt. Добавлена ли либа QtCored.lib в список либ Linker->Input->Additional Dependencies. Проверь точно ли собрана Qt статически.
Записан
enola
Гость
« Ответ #4 : Декабрь 14, 2006, 14:01 »

разобрался, вот что нужно было ручками прописать в перемнных окружения:
Цитировать
set QTDIR=C:\Qt\4.2.0
set PATH=C:\Qt\4.2.0\bin;
set QMAKESPEC=win32-msvc2005

и все заработало, и зачем они так сделали?!
 Веселый
Записан
Dendy
Гость
« Ответ #5 : Декабрь 14, 2006, 14:20 »

Теорктически они сделали правильно. Ето чтобьІ при нескольких Qt в системе можно бьІло менять на лету с какой именно тебе нужно собрать программу, не переписьІвая настройки проекта. Наверняка в проекте пути записаньІ в виде:

Код:
$(QTDIR)\include\QtCore
...
$(QTDIR)\lib


Просто дебильная студия не может добавить переменную окружения как макрос в конфигурацию проекта. Куда смотрели разроботчики из M$??
Записан
enola
Гость
« Ответ #6 : Декабрь 14, 2006, 14:31 »

Цитата: "Dendy"
Наверняка в проекте пути записаньІ в виде:

Код:
$(QTDIR)\include\QtCore
...
$(QTDIR)\lib


именно.

Цитировать
Просто дебильная студия не может добавить переменную окружения как макрос в конфигурацию проекта. Куда смотрели разроботчики из M$??

ну я бы не стал так сразу.  :lol:
Записан
Dendy
Гость
« Ответ #7 : Декабрь 14, 2006, 14:57 »

Студия не должна зависеть от библиотек. Неужели каждьІй фреймворк должен дописьІвать свои линки с переменньІми окружения? Линк вьІзьІвает другой линк, а тот ещё что-то, и в конце концов студию. Все настройки проекта должньІ редактироваться из Студии, а не через костьІли типа переменньІх окружения. Не путайте с командной строкой. Когда макросьІ чисто студийньІх настроек можно изменить только через переменньІе окружения, ето назьІвается через ж.

Правильно могло бьІ бьІть так: есть корневая конфигурация проекта, а есть подконфигурации, в которьІх подправленьІ мелочи, например ОДНА переменная, указьІвающая какой фреймворк использовать.

Почему-то в том же XCode с етим проблем нет.
Записан
enola
Гость
« Ответ #8 : Декабрь 14, 2006, 17:16 »

В Ваших словах есть истина Улыбающийся
Записан
Angler225
Гость
« Ответ #9 : Декабрь 15, 2006, 14:02 »

У меня такая же тема... Входные условия те же.
1>Linking...
1>LINK : fatal error LNK1181: cannot open input file 'QtCored.lib'
Вот только пока её не решил. Все пути прописаны, но дело в том, что в директории c:/QT/4.2.0/lib нет файла QtCored.lib
Библиотека сконфигурирована статически, что не так, подскажите ?
Записан
enola
Гость
« Ответ #10 : Декабрь 15, 2006, 14:19 »

У меня тоже самое было; а этого файла у меня тоже нет, зато есть другой qtcored4.lib.
Сделал я вот что:[list=1]
  • Снес Qt 4.1.4 (эта версия у меня стояла)
  • Установил Qt 4.2.0
  • Вытащил из ярлыка (который для запуска студии в папке Qt):
Цитировать
set QTDIR=C:\Qt\4.2.0
set PATH=C:\Qt\4.2.0\bin;
set QMAKESPEC=win32-msvc2005

  • Установил переменные окружения через Мой компьютер->Свойства->Дополнительно->Переменные среды.
  • [/list:o]
    и все заработало  Веселый
Записан
ElderOrb
Гость
« Ответ #11 : Декабрь 15, 2006, 14:20 »

А остальные отладночные библиотеки есть? Может быть стоить пересобрать qt с ключами -static -debug-and-release ?
Записан
Angler225
Гость
« Ответ #12 : Декабрь 15, 2006, 14:24 »

ok. попробую.
Решение где-то рядом. Улыбающийся
Записан
enola
Гость
« Ответ #13 : Декабрь 15, 2006, 14:30 »

Цитата: "ElderOrb"
А остальные отладночные библиотеки есть? Может быть стоить пересобрать qt с ключами -static -debug-and-release ?

А разве нужно коммерческую пересобрать после установки, я почему-то думал, что все сразу должно работать?
Записан
Angler225
Гость
« Ответ #14 : Декабрь 15, 2006, 18:10 »

По моему нужно, потому что по умолчанию у меня линковалась динамически.
Вот захотел сделать статически, и не может линкер найти эту библиотеку.
Пересобрал qt
   configure -static -debug -release
Потом с помощью
   qmake -project
cделал проект, затем в visual studio QT/Open Solution from .pro File сделал проект
для vs 2005 и попробовал его компильнуть, выдает уже
1>Linking...
1>LINK : fatal error LNK1181: cannot open input file 'C:\Qt\4.2.0\lib\QtGuid.lib'
проектик немного другой там только #include <QApplication>
Такое впечатление что не правильно ищет директорию с библиотеками.

добавлено спустя 2 часа 54 минуты:

 Поставил еще qt-win-commercial-4.1.4-vs2005.
Компилится... В Linker->Input->Additional Dependencies
сейчас  qtmaind.lib QtCored4.lib QtGuid4.lib , а было много другого...

Но вот только на другом компе должно работать без dll ?

добавлено спустя 1 минуту:

 Я имел в виду что работает и с 4.1.4 и 4.2.0
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 22.