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

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

Страниц: [1] 2 3 4   Вниз
  Печать  
Автор Тема: Как добавить файл .cpp в проект?  (Прочитано 26646 раз)
Alexu007
Гость
« : Декабрь 04, 2013, 07:58 »

Я дико извиняюсь, но - как? Забыл напрочь. Не могу найти в Qt кнопку типо "add to projeсt"... Спасибо.
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Декабрь 04, 2013, 08:08 »

Правой кнопкой на шапку проекта, потом:
Добавить новый -> Шаблон: с++ -> Файл исходных текстов с++  Подмигивающий

Креатор версии 2.7.0
Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Декабрь 04, 2013, 11:50 »

или можно руками отредактировать .pro, дописав относительный путь к файлу в SOURCES
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Alexu007
Гость
« Ответ #3 : Декабрь 05, 2013, 16:22 »

Спасибо большое, первый способ подошёл. А ещё вопросик, чтобы форум не засорять... Нужно тут старые коды на Си использовать - ругается на "memsem" и "memcpy". В Qt работа с памятью осуществляется по другому?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #4 : Декабрь 05, 2013, 16:50 »

В Qt память осуществляется также как в с++, т.к. Qt - набор библиотек и расширение языка Улыбающийся

Цитировать
ругается на "memsem" и "memcpy"
Компилятор знает много ругательств Смеющийся А какая ошибка? Улыбающийся
Записан

Alexu007
Гость
« Ответ #5 : Декабрь 05, 2013, 18:03 »

C:\QtSDK\Alexu007\LameQt\lamaQt\_encode2.cpp:641: ошибка: 'memcpy' was not declared in this scope
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Декабрь 05, 2013, 18:24 »

Нужно тут старые коды на Си использовать - ругается на "memsem" и "memcpy". В Qt работа с памятью осуществляется по другому?
Прочитав такой квешн - жить не хочется   Плачущий
Инклюдов не хватает, добавьте #include <string.h>
Записан
Alexu007
Гость
« Ответ #7 : Декабрь 05, 2013, 19:34 »

Прочитав такой квешн - жить не хочется   Плачущий
Инклюдов не хватает, добавьте #include <string.h>
[/quote]
У меня в другом проекте мемсет работает без #include <string.h>, специально ещё раз проверил - нет его там нигде. Поэтому и вопрос нарисовался. Понятно что незадекларирован и библиотеки не хватает (почему string?), непонятно почему "там работает тут неработает".
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #8 : Декабрь 05, 2013, 19:41 »

У меня в другом проекте мемсет работает без #include <string.h>, специально ещё раз проверил - нет его там нигде. Поэтому и вопрос нарисовался. Понятно что незадекларирован и библиотеки не хватает (почему string?), непонятно почему "там работает тут неработает".
Скорее всего <cstring> инклюдится из другого файла, который вы используете.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #9 : Декабрь 05, 2013, 19:58 »

У меня в другом проекте мемсет работает без #include <string.h>, специально ещё раз проверил - нет его там нигде. Поэтому и вопрос нарисовался. Понятно что незадекларирован и библиотеки не хватает (почему string?), непонятно почему "там работает тут неработает".

http://www.cplusplus.com/reference/cstring/memcpy/

</thread>
Записан
Alexu007
Гость
« Ответ #10 : Декабрь 05, 2013, 21:03 »

Хз. В явном виде я <string.h> в том проекте не нашёл. Там правда <QMessageBox> имеется.

Ещё вопросик, если не надоел ещё. Я проект тут один из билдера 6 в Qt перекидываю. Проект большой, 10 файлов .cpp (и .h соответственно). В билдере всё работает. В Qt после переноса файлов много на что заругался (на мемсет в т.ч.), но вроде я всё разрулил и проект откомпилировался. Но. На ровном месте проблема нарисовалась. Во всех файлах кроме widget.cpp не видит Qt-шных типов, в частности QString - пишет что незадекларирован. Почему? Я файлы в проект официально добавил, как мне выше подсказали, а не просто скопировал в папку.

Чё ему ещё не хватает?
Записан
Alexu007
Гость
« Ответ #11 : Декабрь 05, 2013, 22:13 »

Сам разобрался.
Записан
Alexu007
Гость
« Ответ #12 : Декабрь 07, 2013, 14:40 »

В добавленном в проект файле не хочет видеть ui->label. Что там добавить надо?
Записан
Bepec
Гость
« Ответ #13 : Декабрь 07, 2013, 14:56 »

Ы. Как минимум в классе с формой перенести ui в public, потом подключить хедеры к новому cpp, далее уже творить хрень. Ибо то, что вы делаете на это смахивает Веселый

PS лучше уж скажите какая у вас задача в целом и тогда подробно объясню почему так делать не надо Улыбающийся
Записан
Alexu007
Гость
« Ответ #14 : Декабрь 07, 2013, 15:12 »

Да вот поект lama в Qt переношу. Там много вычислений и они по разным файлам расбросаны, а в файле widget.cpp только оболочка, которая вызывает собственно функцию кодирования. Вывод в label процесса кодирования (чтобы было видно что прога работает - там количество обработанных фреймов увеличивается и время идёт) удобнее делать из другого файла, там где сам кодек находится.

Да и вообще, в чём проблема то? Какая разница в каком файле стоит обращение к label? Это уже даже не программирование, а вопросы оформления программы, удобочитаемости кода. То есть если я ссыплю всё в один огромный файл - это нормально?
Записан
Страниц: [1] 2 3 4   Вверх
  Печать  
 
Перейти в:  


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