zoukankan      html  css  js  c++  java
  • g++多文件编译

    头文件:A.h


    void test();

    源文件:A.cpp

    #include <iostream>
    #include<thread>
    #include<chrono>
    #include<clocale>
    
    #include "boost/date_time/gregorian/gregorian.hpp"
    #include "boost/date_time/posix_time/posix_time.hpp"
    
    
    using namespace std;
    using namespace boost;
    using namespace boost::gregorian;
    using namespace boost::posix_time;
    
    
    void test()
    {
    	date d = day_clock::local_day();
    	date_facet* dfacet = new date_facet("%Y年%m月%d日");
    	cout.imbue(locale(cout.getloc(), dfacet));
    	cout << d << endl;
    
    	ptime tp = microsec_clock::local_time();
    	time_facet* tfacet = new time_facet("%Y年%m月%d日%H点%M分%S%F秒");
    	cout.imbue(locale(cout.getloc(), tfacet));
    	cout << tp << endl;
    
    }

    main函数所在文件:test.cpp

    #include "A.h"
    
    
    int main()
    {
       test();
       return 0;
    }
    

    手动编译:

    一步编译:

    g++ -o test.o A.cpp test.cpp -std=c++11

    分开编译:

    g++ -c A.cpp -std=c++11
    
    g++ -c test.cpp
    
    g++ A.o test.o -o test.out
    
    

    运行:./test.out



    采用makefile编译:

    test:A.o test.o
    	g++ -o test A.o test.o
    test.o:A.h test.cpp
    	g++ -c test.cpp
    A.o:A.cpp
    	g++ -c A.cpp -std=c++11
    clean:
    	rm test A.o test.o

    引入变量:

    objects=A.o test.o
    test:$(objects)
    	g++ -o test $(objects)
    test.o:A.h test.cpp
    	g++ -c test.cpp
    A.o:A.cpp
    	g++ -c A.cpp -std=c++11
    clean:
    	rm test $(objects)

    自动推导:

    objects=A.o test.o
    test:$(objects)
    	g++ -o test $(objects)
    test.o:A.h                        //省略编译命令和test.cpp
    A.o:A.cpp
    	g++ -c A.cpp -std=c++11   //因为要使用c++11编译,所以显示给出,这两句。否则,和上一行可以省略
    clean:
    	rm test $(objects)






  • 相关阅读:
    Bitnami Redmine安装和插件配置
    DataTable转换成List<T>
    学习Javascript闭包(Closure)
    单例模式(Singleton)
    哈希表--HashSet<T>
    .NET 4.0中的泛型的协变和逆变
    vue-cli脚手架里如何配置屏幕自适应
    新手如何理解JS面向对象开发?
    vue轮播图插件vue-awesome-swiper的使用与组件化
    vue中sass的配置安装流程
  • 原文地址:https://www.cnblogs.com/ggzone/p/4227044.html
Copyright © 2011-2022 走看看