На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
Страницы: (3) 1 [2] 3  все  ( Перейти к последнему сообщению )  
    > MySQL =|, работа с базой данных С/С++
      короче старик приатачь сюда свой тестовый проект, гадать тяжко :)
      и на чем лабаешь?
      "Многие ошибочно полагают, что JavaScript это некое подобие Java и они глубоко заблуждаются.. это асма для вэб!" :D
      "JavaScript is Lisp in C's clothing" © Douglas Crockford :victory:
      -------------------------------------------------------------------------------------------
      "Программирование БД в действии: подход имбицила" :D https://github.com/Cfon/MFCSQLite3Demo
        Цитата Cfon @
        короче старик приатачь сюда свой тестовый проект, гадать тяжко :)
        и на чем лабаешь?

        Дык я в первом сообщении выложил весь "проект" =)
        MySQL =| (сообщение #3689399)

        всего два файла: CMakeList.txt & main.cpp

        "и на чем лабаешь?" - IDE имеется в виду?

        ОС Windows 10
        IDE CLion (jetbrains) + CMake + MinGW
          Цитата iPrior @
          Дык я в первом сообщении выложил весь "проект" =)
          всего два файла: CMakeList.txt & main.cpp

          ОС Windows 10
          IDE CLion (jetbrains) + CMake + MinGW

          да нет ты не понял нужно окружение, ну может что не так подключено :)

          например у меня в Notepade++ такая строка компиляции:
          ExpandedWrap disabled
            g++ "$(FULL_CURRENT_PATH)" -o "$(NAME_PART).exe" -std=c++14 "-IE:/MySQL/mysql-5.7.15/include/" "-LE:/MySQL/mysql-5.7.15/lib/" -llibmysql

          все пашет :D
          "Многие ошибочно полагают, что JavaScript это некое подобие Java и они глубоко заблуждаются.. это асма для вэб!" :D
          "JavaScript is Lisp in C's clothing" © Douglas Crockford :victory:
          -------------------------------------------------------------------------------------------
          "Программирование БД в действии: подход имбицила" :D https://github.com/Cfon/MFCSQLite3Demo
            Цитата Cfon @
            да нет ты не понял нужно окружение, ну может что не так подключено :)

            например у меня в Notepade++ такая строка компиляции:
            ExpandedWrap disabled
              g++ "$(FULL_CURRENT_PATH)" -o "$(NAME_PART).exe" -std=c++14 "-IE:/MySQL/mysql-5.7.15/include/" "-LE:/MySQL/mysql-5.7.15/lib/" -llibmysql

            все пашет :D

            а компилятор у тебя какой?
            Я пробовал MinGW & TDM-GCC
              Цитата iPrior @
              а компилятор у тебя какой?
              Я пробовал MinGW & TDM-GCC

              MinGW 5.3 :)
              "Многие ошибочно полагают, что JavaScript это некое подобие Java и они глубоко заблуждаются.. это асма для вэб!" :D
              "JavaScript is Lisp in C's clothing" © Douglas Crockford :victory:
              -------------------------------------------------------------------------------------------
              "Программирование БД в действии: подход имбицила" :D https://github.com/Cfon/MFCSQLite3Demo
                Цитата Cfon @
                Цитата iPrior @
                а компилятор у тебя какой?
                Я пробовал MinGW & TDM-GCC

                MinGW 5.3 :)

                а MySQL Connector-C ты берешь что под Windows || Linux?
                Я что-то уже совсем запутался =(
                  Я сдвинулся! ... или двинулся? О_о

                  В общем поставил CygWin
                  Скачал Connector/C 6.0.2 Windows (x86, 64-bit)

                  Теперь линковщик ругается:
                  Цитата
                  C:\Users\user\.CLion2016.2\system\cygwin_cmake\bin\cmake.exe --build C:\Users\user\.CLion2016.2\system\cmake\generated\untitled1-8917aa51\8917aa51\Debug --target all -- -j 8
                  [ 50%] Linking CXX executable untitled1.exe
                  /cygdrive/c/Users/user/ClionProjects/untitled1/MySQL64/lib/libmysql.lib(LIBMYSQL.dll.b):(.text+0x2): relocation truncated to fit: R_X86_64_32 against symbol `__imp_mysql_close' defined in .idata$5 section in /cygdrive/c/Users/user/ClionProjects/untitled1/MySQL64/lib/libmysql.lib(LIBMYSQL.dll.b)
                  /cygdrive/c/Users/user/ClionProjects/untitled1/MySQL64/lib/libmysql.lib(LIBMYSQL.dll.b):(.text+0x2): relocation truncated to fit: R_X86_64_32 against symbol `__imp_mysql_init' defined in .idata$5 section in /cygdrive/c/Users/user/ClionProjects/untitled1/MySQL64/lib/libmysql.lib(LIBMYSQL.dll.b)
                  collect2: error: ld returned 1 exit status
                  make[2]: *** [CMakeFiles/untitled1.dir/build.make:95: untitled1.exe] Error 1
                  make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/untitled1.dir/all] Error 2
                  make: *** [Makefile:84: all] Error 2


                  код остался прежним:
                  ExpandedWrap disabled
                    #include <iostream>
                    #include "mysql.h"
                     
                    int main() {
                        MYSQL *mysql;
                        mysql = mysql_init(NULL);
                        mysql_close(mysql);
                     
                        std::cout << "Done" << std::endl;
                        return 0;
                    }


                  CMakeList.txt вроде тоже:
                  ExpandedWrap disabled
                    cmake_minimum_required(VERSION 3.6)
                    project(untitled1)
                     
                    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
                    set(MYSQL_DIR "${PROJECT_SOURCE_DIR}/MySQL64")
                     
                    include_directories(${MYSQL_DIR}/include)
                    link_directories(${MYSQL_DIR}/lib libmysql)
                     
                    set(SOURCE_FILES main.cpp)
                    add_executable(untitled1 ${SOURCE_FILES})
                    target_link_libraries(untitled1 libmysql)


                  Вручную тоже не очень компилируется:
                  Цитата

                  C:\Users\user\ClionProjects\untitled1>g++ main.cpp -o main.exe -std=c++14 -I./MySQL64/include -L./MySQL64/lib -llibmysql
                  ./MySQL64/lib/libmysql.lib(LIBMYSQL.dll.b):(.text+0x2): relocation truncated to fit: R_X86_64_32 against symbol `__imp_mysql_close' defined in .idata$5 section in ./MySQL64/lib/libmysql.lib(LIBMYSQL.dll.b)
                  ./MySQL64/lib/libmysql.lib(LIBMYSQL.dll.b):(.text+0x2): relocation truncated to fit: R_X86_64_32 against symbol `__imp_mysql_init' defined in .idata$5 section in ./MySQL64/lib/libmysql.lib(LIBMYSQL.dll.b)
                  collect2: error: ld returned 1 exit status
                  Сообщение отредактировано: iPrior -
                    Цитата iPrior @
                    а MySQL Connector-C ты берешь что под Windows || Linux?
                    Я что-то уже совсем запутался =(

                    я собрал MySQL 5.7 из сорцов CMake'ом под Windows, там уже был libmysql.dll (MySQL Connector-C) :)
                    "Многие ошибочно полагают, что JavaScript это некое подобие Java и они глубоко заблуждаются.. это асма для вэб!" :D
                    "JavaScript is Lisp in C's clothing" © Douglas Crockford :victory:
                    -------------------------------------------------------------------------------------------
                    "Программирование БД в действии: подход имбицила" :D https://github.com/Cfon/MFCSQLite3Demo
                      Цитата Cfon @
                      я собрал MySQL 5.7 из сорцов CMake'ом под Windows, там уже был libmysql.dll (MySQL Connector-C) :)

                      Спасибо, мне стало хуже :D
                        Цитата iPrior @
                        Спасибо, мне стало хуже :D

                        :( я не виноват :D
                        "Многие ошибочно полагают, что JavaScript это некое подобие Java и они глубоко заблуждаются.. это асма для вэб!" :D
                        "JavaScript is Lisp in C's clothing" © Douglas Crockford :victory:
                        -------------------------------------------------------------------------------------------
                        "Программирование БД в действии: подход имбицила" :D https://github.com/Cfon/MFCSQLite3Demo
                          Цитата Cfon @
                          :( я не виноват :D

                          а MinGW у тебя 32 или 64 ?
                            Цитата iPrior @
                            а MinGW у тебя 32 или 64 ?

                            32 :)
                            "Многие ошибочно полагают, что JavaScript это некое подобие Java и они глубоко заблуждаются.. это асма для вэб!" :D
                            "JavaScript is Lisp in C's clothing" © Douglas Crockford :victory:
                            -------------------------------------------------------------------------------------------
                            "Программирование БД в действии: подход имбицила" :D https://github.com/Cfon/MFCSQLite3Demo
                              Цитата Cfon @
                              Цитата iPrior @
                              а MinGW у тебя 32 или 64 ?

                              32 :)

                              <_< угу... наверное установлю ка я 32-х битный cygwin
                                ща точно не помню, но вроде вначале я ставил мускул 5.7 из бинарника под виндос, но там вроде были проблем линковки с libmysql.dll и я через какие то утилиты создавал liblibmysql.a линуксовую библу через которую уже все было пучком. :D
                                "Многие ошибочно полагают, что JavaScript это некое подобие Java и они глубоко заблуждаются.. это асма для вэб!" :D
                                "JavaScript is Lisp in C's clothing" © Douglas Crockford :victory:
                                -------------------------------------------------------------------------------------------
                                "Программирование БД в действии: подход имбицила" :D https://github.com/Cfon/MFCSQLite3Demo
                                  В общем не понятно в чем проблема...
                                  Ошибка "R_X86_64_32" вроде, как я понял, связана с архитектурой (32/64) - её решить не смог.
                                  Под MinGW библиотеку надо пересобирать с "шаманскими плясками" я писал об этом тут: MySQL =| (сообщение #3689488)
                                  Под VirtualBox выпадает ошибка сегментации =\

                                  Проблему решил... да в общем она и не возникла, при следующих действиях:
                                  Установил VMWare Workstation, как рекомендовал JoeUser.
                                  Установил Ubuntu Desktop 16.04-64
                                  Скачал Connector/C 6.1.6 Linux - Generic (glibc 2.5) (x86, 64-bit)

                                  и собсно всё работает...

                                  Код:
                                  ExpandedWrap disabled
                                    #include <iostream>
                                    #include "mysql.h"
                                     
                                    int main() {
                                        MYSQL *conn;
                                        MYSQL_RES *res;
                                        MYSQL_ROW row;
                                     
                                        conn = mysql_init(NULL);
                                     
                                        /* Connect to database */
                                        if (!mysql_real_connect(conn, "127.0.0.1",
                                                                "root", "root", "mysql", 0, NULL, 0)) {
                                            fprintf(stderr, "%s\n", mysql_error(conn));
                                            exit(1);
                                        }
                                     
                                        /* send SQL query */
                                        if (mysql_query(conn, "show tables")) {
                                            fprintf(stderr, "%s\n", mysql_error(conn));
                                            exit(1);
                                        }
                                     
                                        res = mysql_use_result(conn);
                                     
                                        /* output table name */
                                        printf("MySQL Tables in mysql database:\n");
                                        while ((row = mysql_fetch_row(res)) != NULL)
                                            printf("%s \n", row[0]);
                                     
                                        /* close connection */
                                        mysql_free_result(res);
                                        mysql_close(conn);
                                     
                                        return 0;
                                    }


                                  CMakeList.txt:
                                  ExpandedWrap disabled
                                    cmake_minimum_required(VERSION 3.6)
                                    project(untitled)
                                     
                                    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
                                    set(MYSQL_DIR "${PROJECT_SOURCE_DIR}/MySQL")
                                     
                                    include_directories(${MYSQL_DIR}/include)
                                    link_directories(${MYSQL_DIR}/lib mysqlclient)
                                     
                                    set(SOURCE_FILES main.cpp)
                                    add_executable(untitled ${SOURCE_FILES})
                                    target_link_libraries(untitled mysqlclient)
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:
                                  Страницы: (3) 1 [2] 3  все


                                  Рейтинг@Mail.ru
                                  [ Script Execution time: 0,1519 ]   [ 18 queries used ]   [ Generated: 26.09.17, 20:03 GMT ]