Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 669eae8

Browse files
committed
fix build error and add a test
1 parent 94c0215 commit 669eae8

File tree

3 files changed

+81
-1
lines changed

3 files changed

+81
-1
lines changed

contrib/CMakeLists.txt

+31-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
cmake_minimum_required(VERSION 3.7)
1+
cmake_minimum_required(VERSION 3.5)
22
project (MatplotlibCPP_Test)
33

44
set(CMAKE_CXX_STANDARD 11)
55
set(CMAKE_CXX_STANDARD_REQUIRED ON)
66

7+
find_package(PythonLibs 2.7)
8+
79
include_directories(${PYTHONHOME}/include)
810
include_directories(${PYTHONHOME}/Lib/site-packages/numpy/core/include)
911
link_directories(${PYTHONHOME}/libs)
@@ -18,9 +20,37 @@ add_definitions(-DMATPLOTLIBCPP_PYTHON_HEADER=Python.h)
1820
# message(STATUS "*** dump end ***")
1921

2022
add_executable(minimal ${CMAKE_CURRENT_SOURCE_DIR}/../examples/minimal.cpp)
23+
target_include_directories(minimal PRIVATE ${PYTHON_INCLUDE_DIRS})
24+
target_link_libraries(minimal ${PYTHON_LIBRARIES})
25+
2126
add_executable(basic ${CMAKE_CURRENT_SOURCE_DIR}/../examples/basic.cpp)
27+
target_include_directories(basic PRIVATE ${PYTHON_INCLUDE_DIRS})
28+
target_link_libraries(basic ${PYTHON_LIBRARIES})
29+
2230
add_executable(modern ${CMAKE_CURRENT_SOURCE_DIR}/../examples/modern.cpp)
31+
target_include_directories(modern PRIVATE ${PYTHON_INCLUDE_DIRS})
32+
target_link_libraries(modern ${PYTHON_LIBRARIES})
33+
2334
add_executable(animation ${CMAKE_CURRENT_SOURCE_DIR}/../examples/animation.cpp)
35+
target_include_directories(animation PRIVATE ${PYTHON_INCLUDE_DIRS})
36+
target_link_libraries(animation ${PYTHON_LIBRARIES})
37+
2438
add_executable(nonblock ${CMAKE_CURRENT_SOURCE_DIR}/../examples/nonblock.cpp)
39+
target_include_directories(nonblock PRIVATE ${PYTHON_INCLUDE_DIRS})
40+
target_link_libraries(nonblock ${PYTHON_LIBRARIES})
41+
2542
add_executable(xkcd ${CMAKE_CURRENT_SOURCE_DIR}/../examples/xkcd.cpp)
43+
target_include_directories(xkcd PRIVATE ${PYTHON_INCLUDE_DIRS})
44+
target_link_libraries(xkcd ${PYTHON_LIBRARIES})
45+
2646
add_executable(bar ${CMAKE_CURRENT_SOURCE_DIR}/../examples/bar.cpp)
47+
target_include_directories(bar PRIVATE ${PYTHON_INCLUDE_DIRS})
48+
target_link_libraries(bar ${PYTHON_LIBRARIES})
49+
50+
add_executable(surface ${CMAKE_CURRENT_SOURCE_DIR}/../examples/surface.cpp)
51+
target_include_directories(surface PRIVATE ${PYTHON_INCLUDE_DIRS})
52+
target_link_libraries(surface ${PYTHON_LIBRARIES})
53+
54+
add_executable(update ${CMAKE_CURRENT_SOURCE_DIR}/../examples/update.cpp)
55+
target_include_directories(update PRIVATE ${PYTHON_INCLUDE_DIRS})
56+
target_link_libraries(update ${PYTHON_LIBRARIES})

test/CMakeLists.txt

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
cmake_minimum_required(VERSION 3.5)
2+
project (myproject)
3+
4+
set(CMAKE_CXX_STANDARD 14)
5+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
6+
7+
find_package(PythonLibs 2.7)
8+
9+
include_directories(${PYTHONHOME}/include)
10+
include_directories(${PYTHONHOME}/Lib/site-packages/numpy/core/include)
11+
link_directories(${PYTHONHOME}/libs)
12+
13+
add_definitions(-DMATPLOTLIBCPP_PYTHON_HEADER=Python.h)
14+
15+
add_executable(mytest test.cpp)
16+
target_include_directories(mytest PRIVATE ${PYTHON_INCLUDE_DIRS})
17+
target_link_libraries(mytest ${PYTHON_LIBRARIES})
18+

test/test.cpp

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#define _USE_MATH_DEFINES
2+
#include <cmath>
3+
#include "matplotlibcpp.h"
4+
5+
using namespace std;
6+
namespace plt = matplotlibcpp;
7+
8+
int main()
9+
{
10+
// Prepare data
11+
int n = 500;
12+
std::vector<double> x(n), y(n), z(n), w(n,2);
13+
for(int i=0; i<n; ++i) {
14+
x.at(i) = i;
15+
y.at(i) = sin(2*M_PI*i/360.0);
16+
z.at(i) = 100.0 / i;
17+
}
18+
19+
// Set the "super title"
20+
plt::suptitle("My plot");
21+
plt::subplot(1, 2, 1);
22+
plt::plot(x, y, "r-");
23+
plt::subplot(1, 2, 2);
24+
plt::plot(x, z, "k-");
25+
// Add some text to the plot
26+
plt::text(100, 90, "Hello!");
27+
28+
29+
// Show plots
30+
plt::show();
31+
}
32+

0 commit comments

Comments
 (0)