2010-11-16 64 views
6

Tôi đang cố gắng biên dịch chương trình C++ và một trong các lớp sử dụng. g + + là không thể tìm thấy các thư viện sẽ được đoán của tôi. Lệnh tôi sử dụng để biên dịch là -không thể tìm thấy -lmysqlclient

g++ c1.cpp c2.cpp c3.cpp c4.cpp -o c4 -lm -lmysqlclient 

c3.cpp là tệp cần mysql.h. Đây công trình hoàn hảo trên máy tính địa phương của tôi, nhưng từ chối để chạy trên máy chủ với các lỗi

cannot find -lmysqlclient 

tôi đã cố gắng tìm kiếm các tập tin libmysqlclient.so trên máy chủ bằng cách sử dụng lệnh find, tôi không nghĩ rằng họ là mặt tại đó

uname -a 

tiết lộ

SunOS opteron 5.10 Generic_139556-08 i86pc i386 i86pc 
[email protected] 12:26:02 ~/c++/projname/ 

tôi nhận ra rằng tôi cần phải liên kết một số thư viện, nhưng ở đâu và làm thế nào?

Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn.

+0

Bạn không thể cài đặt các thư viện bạn cần trên máy chủ? –

+0

Không, tôi không có quyền làm điều đó. –

Trả lời

2

Bạn có thư viện máy khách MySQL không? bạn có thể tìm kiếm nó như

find/-name "libmysqlclient.so" -type f -print 2>/dev/null 

Ngoài ra, bạn có thể sử dụng -R cờ trên mối liên kết để hardlink các libmysqlclient như

g++ -R/usr/local/mysql/lib .... 

Hoặc, bạn có thể xuất LD_LIBRARY_PATH_32 hoặc LD_LIBRARY_PATH_64 như

export LD_LIBRARY_PATH_32=$MYSQL_HOME/lib 

Urko,

2

Bất cứ điều gì li gói brary u nghĩ rằng không được cài đặt có thể được cài đặt bằng cách sử dụng sudo apt-get install. Nhưng vấn đề là để tìm đúng tên của gói apt-get có thể hiểu ... làm thế nào để làm điều đó?! đơn giản

lệnh sử dụng: sudo tìm kiếm apt-cache

Đối với ví dụ: trong trường hợp này lmysqlclient

1> sudo tìm kiếm apt-cache mysqlclient (nhớ để loại trừ 'l' từ tên thực tế, tức là , mysqlclient và không lmysqlclient)

-đây ra libmysqlclient-dev - file phát triển cơ sở dữ liệu MySQL

2> trong -libmysqlclient-dev trên là tên apt-get có thể nhận ra và giải quyết, chúng tôi không thể tìm thấy vấn đề lmysqlclient

vì vậy hãy nhập: sudo apt-get install libmysqlclient-dev từ giao diện.

sau khi hoàn thành, hãy thử làm cho tập tin yêu cầu ur.it làm việc cho tôi

Các vấn đề liên quan