LINUX ϶¯Ì¬£¬¾²Ì¬Á´½Ó¿âʵս
¶ÔÓÚ¶¯Ì¬Á´½Ó¿âºÍ¾²Ì¬Á´½Ó¿âµÄ¸ÅÄîÒÔ¼°Á´½Ó·½Ê½²»ÔÙÀÛ׸¡£Ö±½Ó¿ªÊ¼ÉÏ´úÂëºÍ½øÐбàÒë¡£-__-||¡£
´úÂëºÜ¼òµ¥£¬ºáÊú¾ÍÈý¸öµ±¼ÒµÄ¡£
¿âÍ·Îļþcorey.hpp:
#ifndef LIBRARY_H
#define LIBRARY_H
void add(int,int,int*);
#endif
¿âʵÏÖÎļþcorey.cpp
#include "corey.hpp"
void add(int a,int b,int *c){
int total=a+b;
*c=total;
}
Èë¿Úº¯Êýmain.cpp:
#include "corey.hpp"
#include <stdio.h>
#include <iostream>
using namespace std;
int main(int args,char *argc[]){
int a=1;
int b=2;
int *c;
add(a,b,c);
cout << "add result:";
cout << *c << endl << flush;
}
¾²Ì¬¿â£º
ÏȽ¨Á¢staticÎļþ¼Ð£¬½«ÈýÎļþ·Ö±ðÖÃÓÚÆäÖС£
1£©Éú³É¾²Ì¬¿â
g++ -c corey.cpp
ar -rc libcorey.a corey.o
ͬʱÇë×¢ÒâÃüÃû¡£
2£©±àÒëmain.o
gcc -I /home/corey/static -o main.o -c main.c
´Ëʱ-IÖ¸¶¨ÁËcorey.hppÎļþµÄĿ¼£¬Ä¬ÈÏ»áÈ¥/usr/includeºÍ±¾Ä¿Â¼ÖвéÕÒ£¬¿É½«Îļþ·ÅÖÃÔÚÕâÁ½¸öλÖã¬Ôò¿É²»±ÈÖ¸¶¨I¡£
ÎÒÃÇÖªµÀ±àÒëµÄʱºò£¬Ö»ÐèÒªÖ¸¶¨Í·Îļþ¼´¿É¡£
3) Á´½Ómain
gcc -o main -L/home/corey/static main.o -lcorey £¨coreyΪʡȥÁËlib,aµÄ¿âÃû£©
²¢ÇÒ²ÎÊý-l±ØÐëÔÚÊäÈëÎļþÖ®ºó¡£
ÎÒÃÇ¿ÉÒÔÑ¡Ôñ°Ñlibcorey.aÎļþ·ÅÖÃÔÚ/usr/libÎļþ¼ÐÖУ¬¿ÉÒÔʡȥָ¶¨-L²ÎÊý¡£
4£©Ö´ÐÐmain
Ö´ÐÐmain³ÌÐò£¬ÎÞÐè³ÌÐò¿âµÄ²ÎÓë¡£
¶¯Ì¬¿â£º
½¨Á¢Îļþ¼Ðso,½«ÈýÎļþ·ÅÖÃÆäÖС£
1)±àÒ붯̬¿â¡£
g++ -fpic -shared -o libcorey.so corey.cpp
2£©±àÒëmain.o
gcc -I /home/corey/static -o main.o -c main.c
´Ëʱ-IÖ¸¶¨ÁËcorey.hppÎļþµÄĿ¼£¬Ä¬ÈÏ»áÈ¥/usr/includeºÍ±¾Ä¿Â¼ÖвéÕÒ£¬¿É½«Îļþ·ÅÖÃÔÚÕâÁ½¸öλÖã¬Ôò¿É²»±ÈÖ¸¶¨I¡£
ÎÒÃÇÖªµÀ±àÒëµÄʱºò£¬Ö»ÐèÒªÖ¸¶¨Í·Îļþ¼´¿É¡£
3)Á´½Ómain
gcc -o main -L/home/corey/static main.o -lcorey £¨coreyΪʡȥÁËlib,aµÄ¿âÃû£©
²¢ÇÒ²ÎÊý-l±ØÐëÔÚÊäÈëÎļþÖ®ºó¡£
ÎÒÃÇ¿ÉÒÔÑ¡Ôñ°Ñlibcorey.aÎļþ·ÅÖÃÔÚ/usr/libÎļþ¼ÐÖУ¬¿ÉÒÔʡȥָ¶¨-L²ÎÊý¡£
4£©Ö´ÐÐmain
ÌáʾûÓмÓÔØ¿â
./main: error while loading shared libraries: libcorey.so: cannot open shared object file: No such file or directory
5£©echo /home/corey/so >> /etc/ld.so.conf
6£©ldconfig
7)Ö´Ðгɹ¦¡£
Ïà¹ØÎĵµ£º
Ò»¡¢ÒýÑÔ£º
±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾Ñ飨Õâ¸ö»¹µ ......
ÕªÒª:ÊÓÆµÍ¼Ïñ²É¼¯¼°´¦Àí¼¼ÊõÔÚÔ¶³ÌÊÓÆµ¼à¿ØºÍ¿ÉÊӵ绰ÖÐÓÐ׏㷺µÄÓ¦ÓÃǰ¾°£¬Çý¶¯ÊÓÆµ²É¼¯É豸ºÍ»ñÈ¡ÊÓÆµÊý¾Ý²¢½øÐÐÏàÓ¦µÄ´¦Àí£¬ÊÇʵÏÖÕâЩӦÓõĻù´¡¡£Õë¶ÔÕâЩӦÓ㬹¹½¨ÁËÒ»¸ö»ùÓÚǶÈëʽ LinuxºÍ PXA270΢´¦ÀíÆ÷µÄÊÓÆµ²É¼¯Óë´«Êäϵͳ£¬ÀûÓà Video4LinuxʵÏÖ USBÉãÏñÍ·ÊÓÆµÊý¾Ý²É¼¯£¬²É¼¯µÄÊÓÆµÊý¾Ý¾ JPEGѹËõº ......
ÔÚÅäÖÃÍøÂçʱ£¬ÒªÎª»úÆ÷Ö¸¶¨½ÓÊÕÊý¾Ý°üʱ¸Ã°üÒª¾¹ýµÄ·¾¶¡£ÔÚLinuxϵͳÖУ¬Ìṩһ¸öÃüÁîroute£¬Õâ¸öÃüÁî¿ÉÒÔΪifconfigÃüÁîÅäÖõÄÍø¿¨ÉèÖþ²Ì¬Â·ÓÉ¡£ÕâÖÖÉèÖù¤×÷ͨ³£ÔÚ/etc/rc.d/rc.inet1ÖÐÒýÈ룬ÔÚϵͳÒýµ¼Ê±½øÐС£
¡¡¡¡ÎÒÃÇͨ¹ý¼¸¸öÀý×ÓÀ´ËµÃ÷ÈçºÎʹÓÃrouteÃüÁî:
¡¡¡¡¡¡¡¡routeadd-net127.0.0.0
¡¡¡¡Õâ¸öÃüÁÏòÂ·Ó ......
Linux MakefileÒѱ»¹ã·ºÓ¦Óõ«ÊÇÒ²ÔÚ²»¶ÏµÄ¸üУ¬ÕâÀï½éÉÜLinux Makefile°²×°ÉèÖÃʹÓ㬰ïÖú´ó¼Ò°²×°¸üÐÂLinux Makefileϵͳ¡£×÷ΪLinuxϵijÌÐò¿ª·¢ÈËÔ±£¬´ó¼ÒÒ»¶¨¶¼Óöµ½¹ýLinux Makefile£¬ÓÃmakeÃüÁîÀ´±àÒë×Ô¼ºÐ´µÄ³ÌÐòȷʵÊǺܷ½±ã¡£Ò»°ãÇé¿öÏ£¬´ó¼Ò¶¼ÊÇÊÖ¹¤Ð´Ò»¸ö¼òµ¥Linux Makefile£¬Èç¹ûÒªÏëд³öÒ»¸ö·ûºÏ×ÔÓÉÈí¼þ¹ßÀ ......