سؤال

مشكلة:

حسنا، لقد كنت أحاول اتباع نموذج التعليمات البرمجية في MySQL Forge Wiki وبعض المواقع الإلكترونية الأخرى التي تقدم برنامج تعليمي حول كيفية الحصول على اتصال قاعدة بيانات بسيطة، ولكن لسبب ما، فشل مشروعي دائما في خطأ ربط ويمكنني 'T معرفة لماذا أو كيفية إصلاحه بنفسي (ما زلت أتعلم). ساعدني من فضلك! لقد قمت بتضمين دليل المسار المطلوب لملفات الرأس في خصائص المشروع وقدم دليل المسار إلى ملفات LIB المستخدمة في موصل MySQL / C ++. الرمز الذي أستخدمه هو أدناه إذا كان يمكن لشخص ما أن يعطيني تلميحا مفيدا / تعليق حول كيفية إصلاحه. أعتقد أن لديها شيء يتعلق بالاتصال بملفات Lib (بسبب خطأ الارتباط) لكنني لا أعرف حلا لإصلاحه. هل كان لدى أي شخص آخر مشكلة مثل هذا؟

http://forge.mysql.com/wiki/connector_c+++ http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html#createdb.

الشفرة:

int main() {
    // do something
    sql::mysql::MySQL_Driver *driver;
    sql::Connection *con;
    sql::Statement *stmt;
    sql::ResultSet *res;
    sql::PreparedStatement *pstmt;

    cout << "Starting Driver Instance" << endl;
    driver = sql::mysql::MySQL_Driver::get_mysql_driver_instance();

    return 0;
}

إخراج الخطأ:

1>------ Build started: Project: test, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>c:\users\josh bradley\documents\visual studio 2008\projects\test\test\main.cpp(28) : error C2039: 'get_mysql_driver_instance' : is not a member of 'sql::mysql::MySQL_Driver'
1>        c:\program files\mysql\mysql connector c++ 1.0.5\include\mysql_driver.h(25) : see declaration of 'sql::mysql::MySQL_Driver'
1>c:\users\josh bradley\documents\visual studio 2008\projects\test\test\main.cpp(28) : error C3861: 'get_mysql_driver_instance': identifier not found
1>Build log was saved at "file://c:\Users\Josh Bradley\Documents\Visual Studio 2008\Projects\test\test\Debug\BuildLog.htm"
1>test - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

تحديث:

أردت فقط أن أترك الجميع يعرفون أنني اكتشفت أخيرا كيفية إصلاح مشكلتي. لأي شخص لديه مشكلة مماثلة، انتقل إلى http://blog.ulf-wendel.de/؟p=215#hello. وقراءة الإرشادات حول كيفية الاتصال mysqlcppconn.lib بشكل حيوي. كانت مشكلتي إنشاء البيئة الفعلية حتى ستتصل بالمكتبة بشكل صحيح وساعد هذا البرنامج التعليمي بشكل كبير!

هل كانت مفيدة؟

المحلول

يجب عليك أولا تغيير الرمز الخاص بك:

driver = sql::mysql::get_mysql_driver_instance();

وفي المقبل، عليك ربط التعليمات البرمجية الخاصة بك باستخدام mysqlclient.lib أضف المسار الصحيح الخاص بك mysqlclient.lib. في مشروعك:

Properties->Linker->General-> Additionnal Libraries

هنا أضف مسار ليب الخاص بك.

نصائح أخرى

يشير البحث السريع في Google إلى أن خطك يجب أن يقرأ:

driver = sql::mysql::get_mysql_driver_instance();

الخطأ هو خطأ مترجم. إنه يشكو أنه لا يمكن العثور على get_mysql_driver_instance () في مساحة الاسم المحددة.

حاول النقر المزدوج على السطر:

1>        c:\program files\mysql\mysql connector c++ 1.0.5\include\mysql_driver.h(25) : see declaration of 'sql::mysql::MySQL_Driver'

سيظهر لك ملف الرأس، ويمكنك البحث في هناك للتأكد من أن الوظيفة موجودة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top