我使用CMake构建项目。使用Windows上的MSVC以及GCC 4.4(红色帽子)或GCC 5.8(ubuntu),我没有收到任何错误。 但是,当我使用GCC 4.7或5.8(红色帽子)进行构建时,对于单个文件我会遇到一些奇怪的错误:
gcc:错误:(((可见性:没有这样的文件或目录
gcc:错误:(“默认”)))):没有这样的文件或目录
有人知道导致这种现象的原因吗?
文件:bar.c
#include <mex.h>
void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[] )
{
}
文件:CMakeLists.txt
cmake_minimum_required( VERSION 3.12 )
# Project name and version
project( foo )
set( RFC_VERSION_MAJOR "0" )
set( RFC_VERSION_MINOR "2" )
find_package( Matlab QUIET REQUIRED COMPONENTS MX_LIBRARY )
# set up matlab libraries
include_directories( ${Matlab_INCLUDE_DIRS} )
# MEX function (MATLAB)
matlab_add_mex( NAME ${PROJECT_NAME} SRC bar.c OUTPUT_NAME foobar )
在第1072行的CMake模块FindMatlab.cmake中,我发现:
set_target_properties(${${prefix}_NAME}
PROPERTIES
DEFINE_SYMBOL "DLL_EXPORT_SYM=__attribute__ ((visibility (\"default\")))"
)
关于使用的编译器,可能是错误的考虑...
关于安德里亚斯