На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
Страницы: (3) [1] 2 3  все  ( Перейти к последнему сообщению )  
    > MySQL =|, работа с базой данных С/С++
      :huh: Доброго дня.
      Не могу создать подключение к БД, странная ошибка на mysql_init():
      Цитата
      Process finished with exit code -1073741515 (0xC0000135)


      Поможите люди добрые, кто чем может... Дядя Гуугл ни чего не говорит, на форуме подобной ошибки не нашел.

      ExpandedWrap disabled
        #include <iostream>
        #include "mysql.h"
         
        int main() {
            MYSQL *mysql;
         
            mysql_init(mysql);
            std::cout << "Done" << std::endl;
            return 0;
        }


      Библиотеку подключил вот так (CMakeList)
      Цитата

      cmake_minimum_required(VERSION 3.6)
      project(test_mysql)

      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -L\"C:/Program Files/MySQL/MySQL Server 5.7/lib\" -lmysqlclient")

      set(SOURCE_FILES main.cpp)

      set(MYSQL_DIR "C:/Program Files/MySQL/MySQL Server 5.7")

      include_directories(${MYSQL_DIR}/include)
      find_library(mysql NAMES libmysql PATHS ${MYSQL_DIR}/lib)

      add_executable(test_mysql ${SOURCE_FILES})

      target_link_libraries(test_mysql ${mysql})


        Попробуй вот так, может быть поможет:

        ExpandedWrap disabled
          #include <iostream>
          #include "mysql.h"
              
          int main() {
            MYSQL *mysql = mysql_init(NULL);
            mysql_close(mysql);
            std::cout << "Done" << std::endl;
            return 0;
          }
        Мои программные ништякиhttp://majestio.info
          Цитата JoeUser @
          Попробуй вот так, может быть поможет:
          ExpandedWrap disabled
            #include <iostream>
            #include "mysql.h"
                
            int main() {
              MYSQL *mysql = mysql_init(NULL);
              std::cout << "Done" << std::endl;
              return 0;
            }

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

          может библиотеку не так подключил...
          Сообщение отредактировано: iPrior -
            Цитата JoeUser @
            mysql_close(mysql);

            Это пробовал до выхода из программы вставлять?
            Мои программные ништякиhttp://majestio.info
              Цитата JoeUser @
              Цитата JoeUser @
              mysql_close(mysql);

              Это пробовал до выхода из программы вставлять?

              пробовал... даже вот сейчас перегрузил комп на всякий случай :huh:
              попробую наверное на линуксе скомпилить и запустить...
                а сервер то мускуля запущен? :D
                Зовите меня Гена! Просто Гений! :lool:
                ---------------------------------------
                Гений юзает Atom + Node :D
                "Записки гения JavaScript" => https://github.com/Cfon/ImGeniusJavaScript
                "Программирование БД в действии: гениальный подход" => https://github.com/Cfon/MFCSQLite3Demo
                  Цитата Cfon @
                  а сервер то мускуля запущен? :D

                  а то как же! =)
                  только до коннекта дело не доходит =(

                  всё стопится на..:
                  Цитата
                  MYSQL *mysql_init(MYSQL *mysql) - Выделяет или инициализирует объект MYSQL, подходящий для функции mysql_real_connect()
                  Сообщение отредактировано: iPrior -
                    ТОГДА ТАК ПОПРОБУЙ :D

                    MYSQL mysql;
                    mysql_init(&mysql);
                    Зовите меня Гена! Просто Гений! :lool:
                    ---------------------------------------
                    Гений юзает Atom + Node :D
                    "Записки гения JavaScript" => https://github.com/Cfon/ImGeniusJavaScript
                    "Программирование БД в действии: гениальный подход" => https://github.com/Cfon/MFCSQLite3Demo
                      Цитата Cfon @
                      ТОГДА ТАК ПОПРОБУЙ :D

                      MYSQL mysql;
                      mysql_init(&mysql);

                      Пробовал, но еще попробую, только поставлю мускл 5.5 и 32 битную...
                        кстати а в какой системе испытывал?
                        я например в минг 5.3+мускул 5.7+винда10

                        Добавлено
                        да код загонял в Notepad++ :)
                        Зовите меня Гена! Просто Гений! :lool:
                        ---------------------------------------
                        Гений юзает Atom + Node :D
                        "Записки гения JavaScript" => https://github.com/Cfon/ImGeniusJavaScript
                        "Программирование БД в действии: гениальный подход" => https://github.com/Cfon/MFCSQLite3Demo
                          Цитата Cfon @
                          кстати а в какой системе испытывал?
                          я например в минг 5.3+мускул 5.7+винда10

                          Добавлено
                          да код загонял в Notepad++ :)

                          Винда 10-я.... неохота было линукс разворачивать, думал так код попишу, потом на виртуалке просто скомпилирую и запущу


                          Да, с версией MySQL 5.5 ошибка исчезла, но появилось куча новых =)
                          тему пока не буду закрывать, вдруг не разберусь
                          Сообщение отредактировано: iPrior -
                            Цитата iPrior @
                            неохота было линукс разворачивать

                            Очередной раз рекомендую - Manjaro. Под вмварей ставится за 7-10 мин, чаю не успеешь испить.
                            Мои программные ништякиhttp://majestio.info
                              Цитата JoeUser @
                              Цитата iPrior @
                              неохота было линукс разворачивать

                              Очередной раз рекомендую - Manjaro. Под вмварей ставится за 7-10 мин, чаю не успеешь испить.

                              Да я на вагранте за минуту подниму сервер на линуксе... только код пишу под виндой, ну и запускать хотелось сразу из IDE, а не через терминал компилить :)
                              Да и хотелось кросс-платформено писать :D

                              Добавлено
                              Эта ошибка (exit code -1073741515 (0xC0000135)) на 64-х битной версии библиотеки
                              На 32-х битной линковщик ругается

                              буду копать дальше...
                                Цитата iPrior @
                                Да и хотелось кросс-платформено писать

                                Тут и тут
                                Мои программные ништякиhttp://majestio.info
                                  Цитата JoeUser @
                                  Цитата iPrior @
                                  Да и хотелось кросс-платформено писать

                                  Тут и тут

                                  Спасибо, почитаю =)
                                  Правда до QT мне еще очень далеко =)

                                  Возвращаясь к своей проблеме...
                                  Нарыл на форумах что вроде как libmysql, что идет в комплекте, не работает с MinGW и надо делать какие то, на мой взгляд, шаманские пляски:
                                  Цитата
                                  download mysql-connector-c-noinstall-6.0.2-win32.zip from http://mysql.com
                                  extract it to MinGW root directory
                                  copy /lib/libmysql.dll to your working source directory (optional)

                                  WARNING: include <winsock.h> at the 1st line of your source code

                                  1. pexports libmysql.dll > libmysql.def
                                  2. dlltool -k --input-def libmysql.def --dllname libmysql.dll --output-lib libmysql.a
                                  4. gcc test.c -o test -L . -lmysql

                                  Edit libmysql.def
                                  - replace mysql_init w/ mysql_init@4
                                  (*) repeat this step for all mysql functions you'll plan to use.
                                  (*) you'll notice the @* from gcc error ouput (step 4)
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:
                                  Страницы: (3) [1] 2 3  все


                                  Рейтинг@Mail.ru
                                  [ Script Execution time: 0,1409 ]   [ 18 queries used ]   [ Generated: 20.11.17, 07:59 GMT ]