компиляция программы на С ++, включая MySQL - PullRequest
4 голосов
/ 06 мая 2010

Я новичок в gcc и пытаюсь скомпилировать программу на c ++, которая включает в себя mysql.h, с помощью команды:

g ++ -o test test.cpp -L / usr / include / mysql -lmysqlclient -I / usr / include / mysql

Это работает без проблем, но мне было интересно, может ли кто-нибудь объяснить мне аргументы. Мне не нравится использовать команды, которые я не понимаю.

Спасибо

Ответы [ 3 ]

4 голосов
/ 06 мая 2010

-o test означает, что выходной файл должен называться «test».

test.cpp Ваш исходный файл, конечно.

-L/usr/include/mysql означает поиск библиотек в / usr / include / mysql, а также в обычном пути ссылки. (Вероятно, здесь нет библиотек; мой libmysqlclient.a находится в стандартном каталоге библиотеки / usr / lib. Поэтому я не думаю, что вам нужна эта опция.)

-lmysqlclient означает соединение с библиотекой mysqlclient (фактически называется libmysqlclient.a)

-I/usr/include/mysql означает поиск файлов #include в / usr / include / mysql, а также в обычном пути включения.

1 голос
/ 06 мая 2010

попробуйте "man g ++" для полного описания того, что означают различные варианты.

0 голосов
/ 06 мая 2010

man gcc предоставит вам подробную информацию обо всех этих опциях.

g ++ -o test test.cpp -L / usr / include / mysql -lmysqlclient -I / usr / include / mysql

g++ : the compiler
-o test : name the resulting binary "test" 
test.cpp : your source file
-L : the directory to look in for libraries (that are specified by -l)
-l : named library to link against (looks for it in -L)
-I : the directory to look in for #included header files
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...