1

我想从 C++ 源代码创建一个库(Ubuntu、共享或静态)。给定的源代码在“outFile.cpp”中包含一个 main() 函数。

我想编写我自己的 main.cpp 文件,该文件应该链接到稍后的“g++ -lMyLibrary.a”之类的库。

因此,我想修改 C++ 源代码的构建脚本。为了生成库文件,我需要修改下面的构建脚本中的哪些内容,不包括任何 main() 函数,并且它为我提供了源代码中的所有函数/方法?

buildscript 使用 automake。

buidScript.sh :

#!/bin/bash

./autogen.sh ;
./autogen.sh ;

export CXXFLAGS="-O2"
export CFLAGS="-O2"
export CPPFLAGS="-D__STATIC_LINK -DBUILD_WITH_GPL3rdP -DBUILD_LIBSVM ...."

./configure --prefix=$INSTPREFIX --enable-static --enable-shared=no

./update_build_version.sh

make clean &&
make -j8 ; make install

g++ $CFLAGS -static -o outFile outFile-outFile.o  -lm -pthread .libs/libMyLibrary.a

生成文件.am:

ACLOCAL_AMFLAGS = -I m4

AUTOMAKE_OPTIONS = subdir-objects

bin_PROGRAMS = outFile

...

NEWMAT_SOURCES=\
NEWMAT_CPPFLAGS = -I ../thirdparty

NEWMAT_LDFLAGS = 

LIB_SOURCES=\

lib_LTLIBRARIES = libMyLibrary.la
  libMyLibrary_la_SOURCES = $(MyLibrary_SOURCES)
  libMyLibrary_la_CPPFLAGS = $(MyLibrary_CPPFLAGS)
  libMyLibrary_la_LIBADD = $(MyLibrary_LIBS)
  libMyLibrary_la_LDFLAGS = --no-undefined

抱歉描述太弱了,这是我写的第一个构建脚本,我仍在阅读必要的工具。谢谢。

4

0 回答 0