cmake 添加子库
文件目录
- http_lib2
- testlib
- CMakeLists.txt
- Test.cpp
- Test.h
- CMakeLists.txt
- main.cpp
文件如下
#include <iostream>
#include "Test.h"
using namespace std;
int main(){
Test test;
std::cout << test.add() <<endl;
while (true)
{
/* code */
}
return 0;
}
# CMake 最低版本号要求
cmake_minimum_required (VERSION 3.16)
# 项目信息
project (httplib2)
# Add the source in project root directory
aux_source_directory(. DIRSRCS)
# Add header file include directories
include_directories(./ ./testlib)
# Add block directories
add_subdirectory(testlib)
# Target
add_executable(httplib2 ${DIRSRCS})
target_link_libraries(httplib2 testlib)
# Add header file include directories
file(GLOB_RECURSE CURRENT_HEADERS *.h)
source_group("Include" FILES ${CURRENT_HEADERS})
aux_source_directory(. DIR_HELLO_SRCS)
add_library(testlib ${DIR_HELLO_SRCS} ${CURRENT_HEADERS})
#include "Test.h"
int Test::add(){
return 9;
}
#pragma once
#define DllExport __declspec( dllexport )//宏定义
#ifndef Test_H
#define Test_H
#include <iostream>
using namespace std;
class DllExport Test //要生成dll必须加上这个宏,否则会出错
{
public:
int add();
};
#endif