انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: چگونه در C++ از MySQL استفاده کنم؟ (حل شد)  (دفعات بازدید: 2758 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین khajavi

  • Sr. Member
  • *
  • ارسال: 361
  • جنسیت : پسر
    • کافه ی گنو/لینوکس
چگونه در C++ از MySQL استفاده کنم؟ (حل شد)
« : 30 خرداد 1387، 07:10 ق‌ظ »
پکیج libmysql++-dev را نصب کردم و اما برنامه زیر را نمیتونم کامپایل کنم. کامپایلر میگه نمی تونم <mysql++.h> را پیدا کنم.

#include <iostream>
#include <mysql++.h>
using namespace std;
using namespace mysqlpp;

int main() {
try {
char db[] = "employee";
char host[] = "localhost";
char user[] = "milad";
char passwd[] = "secret";
Connection c(db, host, user, passwd);
if(c) cout << "==> Connected" << endl;

Query q = c.query();
q << "SELECT * FROM testtable";
Result r = q.store();

if(r.num_rows() > 0) {
Row row;
for(int i = 0; i < r.num_rows(), row = r.at(i); i++) {
cout << "=>" << row["column1"] << row["column2"] << endl;
}
} else {
cout << "=> No results returned.";
}
} catch (Exception& e) {
cout << "==> Error: " << e.what() << endl;
}
}

« آخرین ویرایش: 01 تیر 1387، 01:29 ق‌ظ توسط khajavi »

آفلاین hamid206

  • Jr. Member
  • *
  • ارسال: 99
پاسخ به: چگونه در C++ از MySQL استفاده کنم؟
« پاسخ #1 : 30 خرداد 1387، 04:20 ب‌ظ »
بهتر بود بجای کد برنامه فرمان کامپایل رو قرار می دادی چون مشکل شما در لینک کردن کتابخانه هست . در هر صورت من وقتی از mysqlclient استفاده می کردم از این فرمان استفاده می کردم .
g++ -I/usr/include/mysql  -L/usr/lib/mysql -lmysqlclient -lz main.cpp -o main
شما هم احتمالا باید مسیر خود mysql رو  علاوه بر mysql++ لینک کنی

آفلاین khajavi

  • Sr. Member
  • *
  • ارسال: 361
  • جنسیت : پسر
    • کافه ی گنو/لینوکس
پاسخ به: چگونه در C++ از MySQL استفاده کنم؟
« پاسخ #2 : 01 تیر 1387، 01:29 ق‌ظ »
خیلی خیلی ممنون مشکل حل شد.

g++ -I/usr/include/mysql -I/usr/include/mysql++  -L/usr/lib/mysql -lmysqlclient -lz -L/usr/local/lib -lmysqlpp  main.cpp -o main

آفلاین hamid_rostami

  • Jr. Member
  • *
  • ارسال: 55
برای پیدا کردن سوییچ ها برای استفاده از یه کتابخونه میتونی از pkg-config هم استفاده کنی
مثلا من برای کامپایل یه برنامه ای که از gtk استفاده کردم اینکارو میکنم :

gcc -Wall -g -o test test.c -export-dynamic `pkg-config --cflags --libs gtk+-2.0`

خروجی دستور pkg-config --cflags --libs gtk+-2.0 اینه :
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1  -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
که وقتی اونو توی backtick میزاریم خروجیش به gcc وصل میشه که دیگه نیاز نیست بصورت دستی از سوییچ های I و L استفاده کنیم .


البته من libmysql++-dev نصب نکردم و دقیقا نمیدونم جلوی pkg-config چه لایبرری ای رو باید بهش معرفی کرد.
بعداز pkg-config یه lib بنویس بعدش tab بزن ببین چه لایبرری هایی رو خودش معرفی میکنه.

یه man pkg-config بنویسی چیزای جالبی دستت میاد.