c++ 如何在OSX上构建flatbuffers?

brtdzjyr  于 2023-01-06  发布在  其他
关注(0)|答案(6)|浏览(143)

我试图在OSX上构建flatbuffers,但我不确定具体如何进行。根据the doc,我应该运行cmake -G "Xcode"。我这样做了,并得到了结果:

-- The C compiler identification is Clang 5.1.0
-- The CXX compiler identification is Clang 5.1.0
-- Check for working C compiler using: Xcode
-- Check for working C compiler using: Xcode -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Xcode
-- Check for working CXX compiler using: Xcode -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: Temp/flatbuffers

然而,我不知道该怎么做。我试着运行make,但得到了错误消息make: *** No targets specified and no makefile found. Stop.。你知道如何构建它吗?

db2dz4w8

db2dz4w81#

运行cmake时,您为Xcode IDE生成了一个项目(可从Apple应用程序商店下载)。
如果要使用make生成,请改用以下命令:

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release

在那之后

make

应按预期工作。

s2j5cfk0

s2j5cfk02#

只需在shell中运行以下命令,而不是make
$ cmakexbuild
完成后,您将在./Debug文件夹中获得flatc

gkn4icbw

gkn4icbw3#

在OSX上,建议使用Homebrew来安装flatbuffer模式编译器。

brew install flatbuffers

用法:Using the schema compiler

eqfvzcg8

eqfvzcg84#

按照以下步骤编译flatbuffer代码

biswetbf

biswetbf5#

适用于Mac-OSX
确保Xcode已经安装在你的机器上。如果没有,通过执行xcode-select --install命令安装它。
1.如果需要最新更改,请从repo下载源代码,或者要获取特定版本的源代码,请从here下载源代码
1.并执行cmake -G "Xcode" -DCMAKE_BUILD_TYPE=Release
如果您遇到以下错误

CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:6 (project):
No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:6 (project):
No CMAKE_CXX_COMPILER could be found.

-- Configuring incomplete, errors occurred!

See also "<sourc-code-path>/flatbuffers-1.12.0/CMakeFiles/CMakeOutput.log".
See also "<sourc-code-path>/flatbuffers-1.12.0/CMakeFiles/CMakeError.log".

Inside the log file CMakeError.log:

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

然后引用此SO thread
成功消息为:

-- Configuring done
-- Generating done
-- Build files have been written to: <source-code-path>/standalone/flatbuffers-1.12.0
  1. ./FlatBuffers.xcodeproj或在xcode中打开项目
    1.从Xcode UI构建和运行项目
  2. cd Debug,您可以看到存在的所有二进制文件。

1.如果希望flatc在全球范围内可用:
ln -sf <path>/flatbuffers-1.12.0/Debug/flatc /usr/local/bin/flatc
试用和测试
MacOSX:莫哈韦,版本:第十章十四节三、十章十四节六
Xcode:版本:第10.2.1节(10 E1001)、第11.1节(11 A1027)
注意:请确保在项目中使用相同版本以实现兼容性。
如果您不确定选择哪个版本,那么您可以克隆repo并转到特定的提交和构建。
例如,对于版本1.11,Commit version为bf 9 eb 67 a。

njthzxwz

njthzxwz6#

    • 用于LINUX(Ubuntu 16)的FlatBuffers安装和构建:**
  1. cd根项目文件夹
    1.Yarn添加盖板
  2. cd节点_项目的模块
  3. rm flatbuffers文件夹(如果存在)
  4. git克隆https://github.com/google/flatbuffers.git
  5. cd平面缓冲区
  6. cmake-G "Unix Makefile"(如果需要,安装cmake)
    1.制造
  7. cd根项目文件夹
    1.将package.json文件中命令的路径从. "/flatc "更改为. "/node_modules/flatbuffers/flatc"

相关问题