我需要使用 CMake 找到两个字符串的最大公共前缀。我还没有使用 CMake 找到任何有关它的信息。 CMake 本身非常有限,所以我想知道最好的方法。
如何修复“找不到 GLEW(缺少:GLEW_INCLUDE_DIR GLEW_LIBRARY)”
看来您正在使用 GCC 为 Linux 原生构建 Linux 上的 Cocos2dx:“cmake -G 'CodeBlocks - Unix Makefiles' -- OpenGL 包含目录:/usr/include CMake 错误位于 /usr/local/share/cmake-3.4/M...
在 MacOS 上安装 ROS 2 时,我遇到了 Colcon 的一些问题。看来它使用了错误的 Cmake 路径。 跑步 colcon build --symlink-install --packages-skip-by-dep python_qt_binding
标题几乎已经总结了我的问题: 使用 add_library(SHARED) 创建库时,cmake 会创建两个文件,实际库 (.so/.dll) 和导入库 (.a/.lib) 那,通过...
使用“cmake -E Compare_files”比较目录时出现错误结果
我正在尝试编写一个 CTest 测试,将输出目录与另一个已知正确的目录(黄金)进行比较。 我使用了工具 cmake -E Compare_files ,...
我不明白如何使用 CMake 配置项目和处理命令行选项。 我需要设置第 3 方库的目录变量(例如 Poco 和 GTest)。 通常,我只是...
我在 Linux 中有一个 CMake 项目,我在其中构建了几个共享库,其中一些需要 OpenSSL 最新版本。我使用 Microsoft vcpkg 作为我的工具链,并且必须在 11 月 23 日安装 OpenSSL 3.2.0...
尝试构建 C++ 20 模块时未找到 Clang 扫描 deps
我正在尝试使用 CMake 和 C++20 的模块。但cmake找不到clang-scan-deps程序。但我可以在我的终端中使用它,所以我不知道为什么它找不到它。 错误信息: 〜/编码/cpp-模块 >
我使用的CMakeLists.txt如下,我知道就是这个,因为如果我输入错误,就会打印错误。 cmake_minimum_required(版本3.27) 设置(CMAKE_SHARED_LINKER_FLAGS“${
是否有一个示例,我们可以在简单的 makefile 中包含 ZED 库而不是使用 CMake? 我正在构建一个 makefile,并尝试包含 ZED 库,但出现“未找到”错误...
多次使用 cmake add_subdirectories 和 [binary_dir]
我为每个州创建软件。有一些特定于状态的代码,以及一些在所有状态上运行的通用代码。 我创建了以下目录结构: 常见的 富 ...
我应该如何在 CMake 中有条件地设置 -isystem 和 -L 标志?
我有一个项目要为Linux和Windows编译。前者的编译是在Linux环境下完成的,后者的编译是在w64devkit中完成的,即我不需要
我正在使用 gtest 为我的应用程序编写单元测试。我还有 ctest 运行 add_test CMake 命令添加的所有可执行文件。测试时是否可以通过ctest传递gtest变量
我正在尝试使用 Qt Quick 构建一个基本的 Qt 应用程序。我正在关注文档。 我的 CMakeList.txt 是这样的 cmake_minimum_required(版本3.15) 项目(你好) find_package(Qt6 组件 Gui ...
我正在尝试制作一个可以在其他项目中使用的 Qt6 库。我可以在 Qt5 上使用它(使用 qmake),但我似乎无法在 Qt6 上使用它(使用 cmake)。值得注意的是,我...
SFML系统-sfml损坏,在macOs arm64上打不开
我目前正在尝试将 SFML 包含在我的 C++ 应用程序中。我正在使用 CMake 链接库。 我遵循/重现的步骤: 下载 SFML 的最新官方版本。 (叮当臂64) 共...
虚拟环境中的 Python 依赖项导致 ROS2 colcon 构建失败并出现 ModuleNotFoundError
当尝试构建我的 ROS2 项目时,由于缺少名为 em 的依赖项,我在编译其中一个 C 模块时收到 ModuleNotFoundError: % colcon 构建 --cmake-clean-cache 开始 >>>
Visual Studio:项目属性为空,未创建 .csproj 文件
我正在 Visual Studio 中编写一个 C++ 项目。我使用了 CMake 模板。 然后我想转到项目属性,但它是空白的。 我看到其他人也遇到过这个问题,其中一个
使用 CMake 生成 VS2010 解决方案会使包含目录无效
我正在尝试为 ASEPRITE (http://code.google.com/p/aseprite/) 生成 VS2010 解决方案,但是当我按照 INSTALL.TXT 中的说明进行操作时,似乎所有包含目录都变得混乱并且不...
为什么像 Make 或 Kbuild 这样的工具不足以构建 Linux 内核,为什么我们需要 Buildroot 或 Yocto?
我正在学习linux内核开发,并学习了一些教程。建议使用 Buildroot、Yocto 等构建工具。我的问题是为什么 Cmake 或 Autotools 不足以满足
在发布为 npm 包之前使用 npm 链接测试组件时出现重复的 ReactJS 导入问题
我有一个像这样的简单组件。 从'react'导入React,{useState}; 函数 MyComponentWithState(props) { const [值,setValue] = useState(0); 返回 ( 我的价值... 我有一个像这样的简单组件。 import React, {useState} from 'react'; function MyComponentWithState(props) { const [value, setValue] = useState(0); return ( <p>My value is: {value}</p> ) } export default MyComponentWithState; 我想将它作为单独的包发布在 NPM 上。因此,为此我准备了 package.json 和 webpack.config.js,如下所示。 package.json: { "name": "try-to-publish", "version": "0.0.1", "description": "Just a test", "main": "build/index.js", "scripts": { "start": "webpack --watch", "build": "webpack" }, "author": { "name": "Behnam Azimi" }, "license": "ISC", "peerDependencies": { "react": "16.9.0", "react-dom": "16.9.0" }, "dependencies": { "react": "16.9.0", "react-dom": "16.9.0", "prop-types": "15.7.2", "react-scripts": "3.1.1", "webpack": "4.39.3" }, "devDependencies": { "@babel/core": "7.6.0", "@babel/plugin-proposal-class-properties": "7.5.5", "@babel/preset-env": "7.6.0", "@babel/preset-react": "7.0.0", "babel-loader": "8.0.6", "babel-plugin-transform-object-rest-spread": "6.26.0", "babel-plugin-transform-react-jsx": "6.24.1", "css-loader": "3.2.0", "node-sass": "4.12.0", "sass-loader": "8.0.0", "style-loader": "1.0.0", "webpack-cli": "3.3.8", "webpack-external-react": "^1.1.2" } } webpack.config.json: const path = require('path'); module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'build'), filename: 'index.js', libraryTarget: 'commonjs2' }, module: { rules: [ { test: /\.(js|jsx)$/, exclude: /node_modules/, include: path.resolve(__dirname, 'src'), use: { loader: "babel-loader" } }, ] }, resolve: { alias: { 'react': path.resolve(__dirname, 'node_modules/react'), 'react-dom': path.resolve(__dirname, 'node_modules/react-dom'), } }, externals: { 'react': "commonjs react", 'react-dom': "commonjs react-dom" }, }; 这是我的 .babelrc: { "presets": [ "@babel/preset-env", "@babel/preset-react" ], "plugins": ["@babel/plugin-proposal-class-properties"] } 当我将组件发布到 NPM 并使用 `npm install 将其安装到我的另一个 ReactJs 项目中时,这些配置就像魅力一样,但我的观点是本地测试! 我想在发布之前测试这个组件/库。为此,我使用 npm link 功能将我的组件与我的主 ReactJS 项目链接起来。 正如您在上面看到的,我的组件是功能性的,我也使用了钩子。因此,当我将本地链接的库注入到我的主 ReactJs 项目中时,会遇到此错误, 无效的挂钩调用。钩子只能在函数组件的主体内部调用。发生这种情况可能是由于以下原因之一: 1.您的React和渲染器版本可能不匹配(例如React DOM) 2. 你可能违反了 Hooks 规则 3. 您可能在同一个应用程序中拥有多个 React 副本 我的问题与第三个原因有关。我的项目使用 ReactJs 并导入一次,我的组件也会导入 React!我的意思是在一个项目中两次 React 导入!. 我的 Webpack 配置中还有关于 react 和 react-dom 的 externals 配置。 我应该怎么做才能解决这个问题?我的错误在哪里? 更新: 我也尝试过 @sung-m-kim 和 @eddie-cooro 所说的,但没有成功!意思是,我更改了 package.json 并从 react 中删除了 react-dom 和 dependencies 并将它们添加到 devDpendencies。 我终于通过这些步骤解决了这个问题。 运行npm链接里面 <your-library-package>/node_modules/react 还有 运行npm链接里面 <your-library-package>/node_modules/react-dom 然后在 应用程序根目录中运行 npm link react 和 npm link react-dom 并且不要忘记将 React 和 React-dom 作为库中的外部对象保留 // webpack.config.js const externals = { "react": "react", "react-dom": "react-dom", } module.exports = { . . . externals } 我解决了我的问题。我使用 RollupJS 而不是 Webpack 作为捆绑工具进行捆绑。 这是我的rollup.config.js: import {uglify} from 'rollup-plugin-uglify' import babel from 'rollup-plugin-babel' export default { input: "./src/index.js", external: ['react', 'react-dom'], output: { name: 'test-lib', format: "cjs", }, plugins: [ babel({ exclude: "node_modules/**" }), uglify(), ], }; 和我的package.json: { "name": "test-lib", "version": "1.0.0", "main": "dist/test-lib.min.js", "scripts": { "build": "rollup -c -o dist/test-lib.min.js" }, "author": "Behnam Azimi", "license": "ISC", "peerDependencies": { "react": "^16.9.0", "react-dom": "^16.9.0" }, "devDependencies": { "@babel/core": "^7.6.0", "@babel/preset-env": "^7.6.0", "@babel/preset-react": "^7.0.0", "rollup": "^1.21.4", "rollup-plugin-babel": "^4.3.3", "rollup-plugin-commonjs": "^10.1.0", "rollup-plugin-uglify": "^6.0.3" } } 经过这些更改,npm link在我的ReactJS(Hooks)项目中真正发挥了作用。 请注意,这只是一个简单的 Rollup 配置来展示我的解决方案,您可以在配置中添加多种内容,例如热重载、样式加载器和许多其他插件。 仅在 package.json 的 react 部分(而不是 react-native)内设置 peerDependencies 和 dependencies 包。另外,对于本地开发(当您的包未包含在任何其他 React 项目中并且您想在本地运行它时),您可以使用 devDependencies 字段。 我在打字稿反应项目中解决了这个问题。 可能,当使用 npm link 时,请使用主应用程序项目和组件项目中的 react。 因此,在您的 package.json 中从 react 和/或 dependencies 中删除 devDependencies 检查答案:https://stackoverflow.com/a/62807950/5183591 我也有同样的问题。 就我而言,我开发了一些 UI 组件作为包,其中有一个包含 React 应用程序的示例文件夹,用于创建 React 应用程序。 问题是,当我使用 npm i ../ 将包安装到示例应用程序中时,它会将包中的所有文件安装到示例应用程序中,包括 node_modules 文件夹。由于我已经安装了 react 和 react-dom 作为对等依赖项,示例应用程序现在有两个不同的 React 副本。 从包中删除 node_module 文件夹并重新安装包再次解决了我的问题。