add_executable支持/**/格式吗?
时间: 2023-08-05 17:03:49 浏览: 45
在CMake的`add_executable`命令中,不能直接使用`/**/`格式来递归搜索目录。
CMake并不直接支持递归搜索目录,因此无法在`add_executable`命令中使用类似于`/**/`的模式来匹配多级子目录下的文件。
要添加多级子目录中的源文件,你有几种选择:
1. 显式列出所有的源文件:手动列出每个子目录中的源文件,并将它们添加到`add_executable`命令中。例如:
```cmake
add_executable(my_project
src/main.cpp
src/utils.cpp
src/math.cpp
src/subdir1/file1.cpp
src/subdir2/file2.cpp
...
)
```
2. 使用CMake的`file(GLOB ...)`命令:你可以使用`file(GLOB ...)`命令来匹配特定目录下的文件,并将它们添加到`add_executable`命令中。例如:
```cmake
file(GLOB SOURCES
"src/*.cpp"
"src/subdir1/*.cpp"
"src/subdir2/*.cpp"
...
)
add_executable(my_project ${SOURCES})
```
请注意,使用`GLOB`模式存在一些限制和注意事项,如前面所述。
无论你选择哪种方式,都需要确保正确地包含所需的源文件,并在构建期间处理它们。
相关问题
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..支持cuda
要让 CMake 支持 CUDA,需要安装 CUDA 和对应的 CMake 模块。可以按照以下步骤进行操作:
1. 安装 CUDA,可以从 NVIDIA 官网下载安装包进行安装。
2. 安装 CUDA 对应的 CMake 模块。可以使用以下命令进行安装:
```
sudo apt-get install -y cmake cmake-qt-gui cmake-curses-gui cmake-extras
sudo apt-get install -y cmake-curses-gui
sudo apt-get install -y libboost-all-dev libeigen3-dev libgflags-dev libgoogle-glog-dev libprotobuf-dev protobuf-compiler libhdf5-dev liblmdb-dev libleveldb-dev libsnappy-dev libopencv-dev
```
3. 在 CMakeLists.txt 文件中添加以下代码:
```
find_package(CUDA REQUIRED)
include_directories(${CUDA_INCLUDE_DIRS})
add_executable(your_executable your_source_files.cu)
target_link_libraries(your_executable ${CUDA_LIBRARIES})
```
4. 使用以下命令进行编译和安装:
```
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda ..
make -j8
sudo make install
```
其中,`CUDA_TOOLKIT_ROOT_DIR` 是 CUDA 的安装路径。
Create Webdriver Chrome executable_path=C://Program Files (x86)//Microsoft//Edge//Application//MicrosoftWebDriver.exe Go To http://192.168.100.35:8087/ 报错TypeError: __init__() got an unexpected keyword argument 'executable_path' Ending test: Test.Test.33
根据您提供的错误信息,看起来是因为`Create Webdriver`关键字不支持`executable_path`参数。对于Chrome浏览器,您可以通过设置环境变量或将可执行文件放在系统的PATH路径中来自动找到ChromeDriver。您可以尝试以下方法来解决这个问题:
1. 将ChromeDriver可执行文件的路径添加到系统的PATH环境变量中。在您的情况下,将`C://Program Files (x86)//Microsoft//Edge//Application`路径添加到PATH环境变量中。
2. 将ChromeDriver可执行文件移动到一个已经在PATH环境变量中的目录下,例如`C://Windows`或`C://Windows//System32`。
3. 如果您使用的是Python脚本来运行测试,可以使用`webdriver.Chrome()`的方式创建WebDriver对象,并指定`executable_path`参数。示例如下:
```python
from selenium import webdriver
# 设置ChromeDriver路径
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("executable_path=C://Program Files (x86)//Microsoft//Edge//Application//MicrosoftWebDriver.exe")
# 创建Chrome浏览器的WebDriver对象
driver = webdriver.Chrome(options=chrome_options)
# 打开网页
driver.get("http://192.168.100.35:8087/")
# 其他操作...
# 关闭浏览器
driver.quit()
```
请注意,在使用Python脚本时,需要确保您安装了相应的selenium库,并引入相应的模块。
希望这些解决方案能帮助您解决问题。如果您有任何进一步的疑问,请随时提问。