fdeclspec not enabled -- cLion Mac
fdeclspec not enabled -- cLion Mac
我想构建一个可供任何c++
和c#
应用程序可以使用的dll
。我在 mac 上安装了cLion
并启动了一个新项目作为c++ library
.
我在头文件中写了一些代码行。由于我想导出我的函数,所以我使用了__fdeclspec
但它抛给我错误'__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes
我的代码是
#pragma once
#ifdef MATHLIBRARY_EXPORTS
#define MATHLIBRARY_API __declspec(dllexport)
#else
#define MATHLIBRARY_API __declspec(dllimport)
#endif
extern "C" MATHLIBRARY_API void fibonacci_init(
const unsigned long long a, const unsigned long long b);
extern "C" MATHLIBRARY_API bool fibonacci_next();
extern "C" MATHLIBRARY_API unsigned long long fibonacci_current();
extern "C" MATHLIBRARY_API unsigned fibonacci_index();
如何修复此错误以便构建解决方案?
可以使用以下预处理器检查为导出语义创建跨平台宏:
#if defined(_MSC_VER)
#define MY_LIB_API __declspec(dllexport) // Microsoft
#elif defined(__GNUC__)
#define MY_LIB_API __attribute__((visibility("default"))) // GCC
#else
#define MY_LIB_API // Most compilers export all the symbols by default. We hope for the best here.
#pragma warning Unknown dynamic link import/export semantics.
#endif
因此,在您的代码中,它将是:
#pragma once
#if defined(_MSC_VER)
#define MATHLIBRARY_API __declspec(dllexport) // Microsoft
#elif defined(__GNUC__)
#define MATHLIBRARY_API __attribute__((visibility("default"))) // GCC
#else
#define MATHLIBRARY_API // Most compilers export all the symbols by default. We hope for the best here.
#pragma warning Unknown dynamic link import/export semantics.
#endif
extern "C" MATHLIBRARY_API void fibonacci_init(
const unsigned long long a, const unsigned long long b);
extern "C" MATHLIBRARY_API bool fibonacci_next();
extern "C" MATHLIBRARY_API unsigned long long fibonacci_current();
extern "C" MATHLIBRARY_API unsigned fibonacci_index();
相关文章:
- 无法在 CLion 中构建 C++ 项目
- C++:如何在CLion IDE中安装Boost
- 在没有Xcode的情况下在Mac捆绑包中嵌入框架
- c++17文件系统::recursive_directory迭代器()在mac上没有给出这样的目录,但在windows上
- 如何使用CLion在Mac上创建一个新的.txt文件
- 如何使用Clang/GCC在Mac上为C/C++设置VSCode
- 在 Mac 上使用 CMAKE 将 FFTW 和 FFTWPP 链接到项目中时未定义的符号
- 有人安装"IITB Simplecpp in mac"吗?
- libprotobuf 检查在 Mac OS 上执行程序时失败
- 如何在 Mac 上使用 c++17 并行标准库算法?
- 在装有 CLion 的 Mac 上使用 C++ 连接到 MySQL 数据库时出现问题
- fdeclspec not enabled -- cLion Mac
- 我无法在C++(Clion,Mac OS)中运行Gurobi
- 在 CLion 中在 Mac 上输入文件
- CMake add library libpq (postgreSQL) mac c++ clion
- 升级Mac OS,现在Clion不工作,问我配置路径不正确
- 切换到Mac上的CLION中的Clang编译器
- 如何用CLION在Mac OS X上向EOF发出信号
- 如何将谷歌测试库链接到CLion项目(Mac OS X El Capitan)
- 如何在Mac上的Clion中使用ctrl+D终止输入