|
|
|
| Добрый день.
Сразу скажу, что с С++ не работал. Появилось необходимость написать небольшую прогу для сервера на С++, которая делает просчёт и заносит результат в БД mysql. Для этого нашел библиотеку mysqlpp. Работало, все нормально, пока не начал переносить на другой комп. Не работает и все. Пишет "приложение не может быть запущено так как оно некорректно установлено." Вот что пробовал сделать: скидывал вместе с проектом manifest файлы, все dll-ки, файлы из папки redist. Не помогло. В настройках проеска стоит Multi-threaded DLL, если меняю на Multi-threaded, то приложение не компилится. Поставил General - Use of MFC - Use MFC in a Static Library. Не помогло.
Посоветуйте что-нить плиз.
Да. Попытался сделать все с минимумом строк. Пустую консольную программу получилось запустить на другом компе, при настройках Multi-threaded. Но при подключении библиотеки mysqlpp с такой настройкой не компилируется прога, требует Multi-threaded DLL. | |
|
|
|
|
|
|
|
для: shevak
(22.10.2008 в 16:49)
| | Ммм... а ссылку на mysqlpp дать можете, чтобы воспроизвести ситуацию? | |
|
|
|
|
|
|
|
для: cheops
(22.10.2008 в 17:22)
| | http://tangentsoft.net/mysql++/ - официальный сайт поддержки mysql под c++ | |
|
|
|
|
|
|
|
для: shevak
(22.10.2008 в 18:20)
| | Я компилировал своего клиента в этой же среде и вроде проходило без проблем. Но надо проверить, проблема переносимости с вводом 2008 версии на самом деле существует. по крайней мере, что было компильнуто в 2005 не стыкуется с 2008, и если нет исходников, то трындец, у меня так оракл отпал при переходе на 2008 | |
|
|
|
|
|
|
|
для: GeorgeIV
(23.10.2008 в 13:13)
| | т.е. я так понял варианта 2: либо ждать обновления mysqlpp, либо дастать где-то 2005 версию и работать под ней | |
|
|
|
|
|
|
|
для: shevak
(27.10.2008 в 12:13)
| | А зачем ждать?! Компильнуть исходники MySQL и работать со своей клиентской библиотекой.
P.S. Кстати, посмотрел ссылку, там написано, что работает и с 2008 Студией, и тем более исходники библиотеки есть. Все в ваших руках.
PPS Visual C++: An additional requirement with Visual C++ is that you must link to the same
C Run-Time Library (RTL) for all modules throughout your project. The Visual C++ project files that
come with MySQL++ use the multithreaded DLL version (/MD or /MDd) of the C RTL. If you link
MySQL++ to a program or additional third party library that uses a different RTL, you will get link
errors. Study the example projects’ settings to see how this is done. The instructions in the
README-Visual-C++.txt file may also be helpful. |
| |
|
|
|
|
|
|
|
для: GeorgeIV
(28.10.2008 в 13:42)
| | Так правильно, тут и написано, что проект может компилиться с настройками /MD or /MDd (как и во всех примерах установлено), а с такими настройками нельзя переносить на другой комп. | |
|
|
|
|
|
|
|
для: shevak
(22.10.2008 в 16:49)
| | Всем спасибо проблему решил.
Оказывается нужно было либы mysql компилить отдельно в релизе и в дебаге. Для релиза другие либы получаются.
Потом в проекте нужно было изменить настройки на реализ. И скомпилить. Md или MT тут роли не играют у меня все запустилось на Multi-threaded DLL MD | |
|
|
|