C++ 使用CMake查找是否存在函数
好的,所以我试图找出main.cpp中是否有一个函数的存在声明,但CMake不想找到它 到目前为止,我已经尝试过:C++ 使用CMake查找是否存在函数,c++,c,function,cmake,C++,C,Function,Cmake,好的,所以我试图找出main.cpp中是否有一个函数的存在声明,但CMake不想找到它 到目前为止,我已经尝试过: include(CheckFunctionExists) CHECK_FUNCTION_EXISTS(draw DRAWFUN) 这个 这个 最后是这个 include(CheckCXXSymbolExists) CHECK_CXX_SYMBOL_EXISTS(draw main.cpp DRAWFUN) 但正如我之前提到的,这些都不起作用。他们只说 -- Looking fo
include(CheckFunctionExists)
CHECK_FUNCTION_EXISTS(draw DRAWFUN)
这个
这个
最后是这个
include(CheckCXXSymbolExists)
CHECK_CXX_SYMBOL_EXISTS(draw main.cpp DRAWFUN)
但正如我之前提到的,这些都不起作用。他们只说
-- Looking for draw
-- Looking for draw - not found
-- Configuring done
-- Generating done
所以我的问题是我做错了什么,我怎样才能让它工作
提前谢谢
编辑:
main.cpp文件:
#include "P5c.h"
void setup(){
size(800, 600);
background(51);
}
void draw(){
background(51);
}
来自cmake文档:用于“检查系统上的库是否提供了”,因此第一个显然不起作用。我不确定为什么
CheckSymbolExists
不起作用。如果您有一个示例main.cpp
文件,它可能会有所帮助。CHECK\u FUNCTION\u存在
仅检查未损坏的函数名是否存在于某些已编译二进制文件的导出表中。它不会检查某些源文件中是否存在某些函数。@Justin我正在添加main.cpp示例文件老实说,这没有任何意义。如果要创建库,则此库的用户需要包含的头文件应仅包含从库导出的函数的声明。用户无需更改该头或编写具有空主体的函数(除非库本身在某些方面存在缺陷)。事件系统的更好方法是接受应该作为用户参数定期调用的函数。例如:#include void UpdateLoop(::std::function update){while(update()){sleep(1000);}}
这样,用户就可以传递任何兼容的函数或可调用的对象,而不是被迫编写严格命名为draw
的函数。而且不需要任何花哨的支票。
-- Looking for draw
-- Looking for draw - not found
-- Configuring done
-- Generating done
#include "P5c.h"
void setup(){
size(800, 600);
background(51);
}
void draw(){
background(51);
}