zoukankan      html  css  js  c++  java
  • linux 创建动态库

    参考 http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
    gcc -fPIC -g -c -Wall a.c
    gcc -fPIC -g -c -Wall b.c
    gcc -shared -Wl,-soname,libmystuff.so.1 \
        -o libmystuff.so.1.0.1 a.o b.o –lc

    makefile

    CC            = gcc
    CXX           = g++
    DEFINES       = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
    CFLAGS        = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
    CXXFLAGS      = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
    INCPATH       = -I../../../../x86/mkspecs/qws/linux-x86-g++ -I. -I../../../../x86/include/QtCore -I../../../../x86/include/QtNetwork
    -I../../../../x86/include/QtGui -I../../../../x86/include -I. -I.
    LINK          = g++
    LFLAGS        = -Wl,-O1 -Wl,-rpath,/opt/qt-everywhere/x86/lib -shared -Wl,-soname,libclient.so.1
    LIBS          = $(SUBLIBS)  -L/opt/qt-everywhere/x86/lib -lQtGui -L/opt/qt-everywhere/x86/lib -lQtNetwork -lQtCore –lpthread

    ####### Implicit rules

    .SUFFIXES: .o .c .cpp .cc .cxx .C

    .cpp.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

    .cc.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

    .cxx.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

    .C.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

    .c.o:
        $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"

    $(TARGET):  $(OBJECTS)

        -$(DEL_FILE) $(TARGET)

        $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)

  • 相关阅读:
    注意:MagickReadImageBlob() 引发的问题
    Notepad++ 【自动完成】与【输入时提示函数参数】互相冲突,无奈
    收藏:png8和png24的根本区别
    【物理分辨率】与【逻辑分辨率】
    算法
    算法
    Linux 用户和文件
    Oracle索引技术研究
    Linux Socket
    Linux Socket
  • 原文地址:https://www.cnblogs.com/cute/p/1964046.html
Copyright © 2011-2022 走看看