Форум программистов, компьютерный форум, киберфорум
Наши страницы
Кроссплатформенная разработка
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
_arty_
29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317
1

При запуске приложения, выдается предупреждение о том что библиотека не была найдена!

13.02.2011, 14:43. Просмотров 1624. Ответов 9
Метки нет (Все метки)

Компилирую проект (графическое приложение) с использованием Code::Blocks (mingw компилятор)+wxWidgets, всё запускается без ошибок, пробую запустить из каталога, выдаёт ошибку мол не найдена библиотека "wxbase28_gcc.dll", ладно, ложу вместе с экзешником (хотя должно без неё работать) запускаю и вижу ещё одно предупреждение, вообщем в итоге вместе с экзешником положил 3 библиотеки: wxbase28_gcc.dll, wxmsw28_core_gcc.dll, mingwm10.dll и только тогда оно запустилось, так вот что сделать чтобы мне не пришлось эти библиотеки ему подкладывать и я мог этот экзешник принести на другой компьютер и он без проблем запускался (даже если не стоит wxWidgets и Code::Blocks) ???

Добавлено через 1 час 18 минут
P.S. Может ещё кто-нибудь подскажет как правильно поставить wxWidgets 2.9 и FormBuilder по отдельности, а то я ставлю wxPack и всё нормально комилируется, а по отдельно выдаёт кучу ошибок, мол неможет найти заголовочные файлы, хотя при создании проекта указываю путь к папке wxWidgets...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2011, 14:43
Ответы с готовыми решениями:

Code::Blocks 16.01, wxWidgets 3.0.3, TDM-GCC. Что не так при запуске exe-файла полученного приложения? (+)
Долго бился над связкой Code::Blocks и wxWidgets. Наконец добился, получил...

При запуске приложения выдается ошибка
запускаю приложение включается заставка а потом пишет ошибку 05-11...

Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения
имеется код: #include <SFML/Graphics.hpp> int main() { sf::RenderWindow...

Как можно сделать так, что бы при запуске excel файла с макросом не выводилось сообщение о том что макросы могут содержать вирусы?
Может кто нибудь знает как можно сделать так, что бы при запуске excel файла с...

Выдается сообщение о том, что возможно использование неинициализированной переменной
Помогите разобраться. Вроде все правильно, а выдает ошибку: maybe used...

9
deadlock
376 / 356 / 23
Регистрация: 14.12.2010
Сообщений: 1,265
13.02.2011, 17:53 2
для того, чтобы приложение запускалось без указанных библиотек нужно сконфигурировать среду для статической линковки с этими библиотеками, например в Qt это делается редактированием конфигурационных файлов qmake и пересборке среды.
1
_arty_
29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317
13.02.2011, 18:09  [ТС] 3
Хорошо, я попробую, так как я только начинаю программировать с использованием wxWidgets то имеются вопросы по поводу взаимодействия с её "компонентами" (если их можно так назвать), например хочу написать подобный код:

C++
1
2
3
4
if (m_textCtrl1->value == "test") 
{
MessageBox(NULL, "OK!", "Test",0);
}
но воспользоваться этим свойством я немогу (или не умею), хотя в FormBuilder видно что оно у textctrl есть!
Как в таком случае должен выглядеть такой код?
0
deadlock
376 / 356 / 23
Регистрация: 14.12.2010
Сообщений: 1,265
13.02.2011, 18:11 4
как правило - если свойство есть, но оно не доступно - не подключен нужный заголовочный файл
0
_arty_
29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317
13.02.2011, 18:53  [ТС] 5
Цитата Сообщение от deadlock Посмотреть сообщение
как правило - если свойство есть, но оно не доступно - не подключен нужный заголовочный файл
Вот к примеру простое окошко с двумя кнопками, одно вызывает диалог, а второе должно выдавать его если текст в m_textctrl1 равен "test"...
TestApp.zip

P.S. Может ещё кто-нибудь подскажет как правильно поставить wxWidgets 2.9 и FormBuilder по отдельности, а то я ставлю wxPack и всё нормально комилируется, а по отдельно выдаёт кучу ошибок, мол неможет найти заголовочные файлы, хотя при создании проекта указываю путь к папке wxWidgets...
0
_arty_
29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317
13.02.2011, 19:18  [ТС] 6
Пишу вот такой код:

C++
1
if (m_textCtrl1->m_value == "test") {MessageBox(NULL,"Hello World!","TestMain",64);}
IDE отвечает: "C:\CodeBlocks\TestApp\TestAppMain.cpp||In member function 'virtual void TestAppFrame::button2click(wxCommandEvent&)':|
C:\CodeBlocks\TestApp\TestAppMain.cpp|86|error: 'class wxTextCtrl' has no member named 'm_value'|
||=== Build finished: 1 errors, 0 warnings ===|"
0
Iron Bug
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
14.02.2011, 07:44 7
насчёт m_value - скорее всего, ты пытаешься получить доступ к private члену класса. используй функции, которые предназначены для этой цели. у wxWidgets есть обширный хэлп по всем классам: http://docs.wxwidgets.org/stable/ (это линк на доки для последней стабильной сборки - 2.8.11). там есть список классов: http://docs.wxwidgets.org/stable/wx_classref.html#classref находишь нужный класс, читаешь про его методы. в частности, у класса wxTextControl есть метод ChangeValue (есть и SetValue, но он обозначен как устаревший и его лучше не применять). также там уйма разных методов для работы с текстом. примеры также приведены в описании класса: http://docs.wxwidgets.org/stable/wx_wxtextctrl.html#wxtextctrl

что касается статической сборки с wxWidgets. это возможно, но тебе потребуются статические библиотеки wxWidgets. возможно, в сети есть готовые сборки. я просто не отслеживаю такие вещи. проще собрать wxWidgets самостоятельно, статический вариант библиотек. и потом указать линкеру нужные библиотеки.

что касается путей. вообще, если ты создашь wxWidgets проект в Code::Blocks, ты увидишь, что в настройках он вместо перечисления хедеров и библиотек указывает команды:
`wx-config --cflags` - в настройках компилятора
`wx-config --libs` - в настройках линкера
так вот: wx-config - это скрипт. если ты наберёшь эти команды в обычной консоли, то увидишь, что они генерируют целую последовательность флагов и файлов. у wx-config есть хэлп: wx-config --help. там описаны все вариации вызова этого скрипта. обрати внимание на опцию static.
далее, когда скрипт сгенерил нужные флаги и имена файлов, вывод подставляется в настройки компиляции и линковки. всё, что тебе нужно сделать, это указать системе путь до скрипта wx-config. обычно он находится в пути, куда установлен wxWidgets, в подкаталоге bin (там создаётся линк). стандартно, линк появляется в стандартном каталоге bin и виден системе. если этого не произошло, линк надо создать:
ln -s <путь до wxWidgets>/bin/wx-config /bin/
и прописать нужные команды в настройках компилятора и линкера. и всё будет работать. только прописывать надо аккуратно, как есть, с кавычками. как вариант - добавить путь до нужного каталога в строку поиска путей PATH:
export PATH=$PATH:<путь до wxWidgets>/bin

Добавлено через 9 часов 18 минут
да, кстати, я тут для линюкса написала настройки, а у тебя же венда вроде. но не суть. принцип тот же: нужно указать в PATH путь до wx-config, а дальше прописывать те же самые параметры для компилятора и линкера.
1
_arty_
29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317
14.02.2011, 17:51  [ТС] 8
Цитата Сообщение от Iron Bug Посмотреть сообщение
да, кстати, я тут для линюкса написала настройки, а у тебя же венда вроде. но не суть. принцип тот же: нужно указать в PATH путь до wx-config, а дальше прописывать те же самые параметры для компилятора и линкера.
Да, использую винду, но это неважно, насколько я понял, в линуксе я свой проект просто могу перекомпилировать?
И ещё, может всё-таки скрины приведёте? А то я CodeBlocks только начал осваивать, боюсь что мучаться буду долго...

P.S. Почитав про класс wxTextCtrl я понял что свойство которое мне нужно это getvalue, буду дальше читать, очень занятно...
0
_arty_
29 / 28 / 7
Регистрация: 10.07.2009
Сообщений: 317
15.02.2011, 19:37  [ТС] 9
Ну что, никто мне не поможет разобраться со статической компиляцией приложения?
0
Iron Bug
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
15.02.2011, 20:53 10
я же написала: собирай статический вариант wxWidgets и вперёд. только для wx-config нужные параметры укажи при линковке.
как собирать wxWidgets - написано у них в википедии и в файлах readme в исходниках.
0
15.02.2011, 20:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2011, 20:53

Dell 1501. Выдается сообщение о том, что батарея не может быть идентифицирована
проблема при старте выдается сообщение о том что батарея не может быть...

При запуске программы появляется сообщение о том, что Брандмауэр заблокировал некоторые её функции
При запуске любой программы выскакивает сообщение что брандмауэр заблокировал...

Как в методе main, отследить, что при запуске программы была нажата функциональная клавиша
Как в методе main, отследить что при запуске программы была нажата...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru