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

Skip to content

Commit c99e31b

Browse files
author
Davide Faconti
committed
fix issue BehaviorTree#63 : compile on windows
1 parent 3607abd commit c99e31b

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

include/behaviortree_cpp/bt_factory.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ NodeBuilder;
3434

3535
constexpr const char* PLUGIN_SYMBOL = "BT_RegisterNodesFromPlugin";
3636

37+
#ifndef BT_PLUGIN_EXPORT
38+
39+
#define BT_REGISTER_NODES(factory) \
40+
static void BT_RegisterNodesFromPlugin(BT::BehaviorTreeFactory& factory)
41+
42+
#else
43+
3744
#ifdef __linux__
3845

3946
#define BT_REGISTER_NODES(factory) \
@@ -42,14 +49,10 @@ constexpr const char* PLUGIN_SYMBOL = "BT_RegisterNodesFromPlugin";
4249

4350
#elif _WIN32
4451

45-
#ifdef WIN_EXPORT
46-
47-
#define BT_REGISTER_NODES(factory) \
52+
#define BT_REGISTER_NODES(factory) \
4853
__declspec(dllexport) void BT_RegisterNodesFromPlugin(BT::BehaviorTreeFactory& factory)
49-
#else
50-
#define BT_REGISTER_NODES(factory) \
51-
static void BT_RegisterNodesFromPlugin(BT::BehaviorTreeFactory& factory)
52-
#endif
54+
#endif
55+
5356
#endif
5457

5558

sample_nodes/CMakeLists.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 2.8)
22

33
include_directories( ../include )
44

5+
# compile as static libraries
6+
57
add_library(crossdoor_nodes STATIC crossdoor_nodes.cpp )
68
target_link_libraries(crossdoor_nodes PRIVATE ${BEHAVIOR_TREE_LIBRARY})
79

@@ -11,17 +13,17 @@ target_link_libraries(dummy_nodes PRIVATE ${BEHAVIOR_TREE_LIBRARY})
1113
add_library(movebase_node STATIC movebase_node.cpp )
1214
target_link_libraries(movebase_node PRIVATE ${BEHAVIOR_TREE_LIBRARY})
1315

14-
16+
# to create a plugin, compile them in this way instead
1517

1618
add_library(crossdoor_nodes_dyn SHARED crossdoor_nodes.cpp )
1719
target_link_libraries(crossdoor_nodes_dyn PRIVATE ${BEHAVIOR_TREE_LIBRARY})
18-
target_compile_definitions(crossdoor_nodes_dyn PRIVATE WIN_EXPORT )
20+
target_compile_definitions(crossdoor_nodes_dyn PRIVATE BT_PLUGIN_EXPORT )
1921

2022
add_library(dummy_nodes_dyn SHARED dummy_nodes.cpp )
2123
target_link_libraries(dummy_nodes_dyn PRIVATE ${BEHAVIOR_TREE_LIBRARY})
22-
target_compile_definitions(dummy_nodes_dyn PRIVATE WIN_EXPORT)
24+
target_compile_definitions(dummy_nodes_dyn PRIVATE BT_PLUGIN_EXPORT)
2325

2426
add_library(movebase_node_dyn SHARED movebase_node.cpp )
2527
target_link_libraries(movebase_node_dyn PRIVATE ${BEHAVIOR_TREE_LIBRARY})
26-
target_compile_definitions(movebase_node_dyn PRIVATE WIN_EXPORT )
27-
28+
target_compile_definitions(movebase_node_dyn PRIVATE BT_PLUGIN_EXPORT )
29+

0 commit comments

Comments
 (0)