gpt4 book ai didi

ubuntu - 无法将文件标记为可执行文件 (?)

转载 作者:行者123 更新时间:2023-12-04 19:17:50 25 4
gpt4 key购买 nike

[ 备注 :] 我首先认为问题是由 CUDA 引起的,但这只是因为我的文件系统(见答案) - 所以这可能属于任何程序,如果其他人被困在这里。

问题

在 CUDA 的帮助下,我尝试在 Ubuntu 上使用我的 NVIDIA-GPU 进行编程。

当我编译一切正常 - 没有错误,没有警告。但最后我得到了一个我无法打开的可执行文件,我收到了 Permission denied 的消息。当我检查访问权限时,我看到该文件没有“标记为可执行”。如果我尝试设置它,该框会立即再次取消选中。甚至像这样的命令

sudo chmod +x ./myprogram 

不工作(权利保持不变)。

我做了什么

我安装了
sudo apt-get install nvidia-cuda-dev nvidia-cuda-toolkit 

之后
sudo apt-get install build-essential freeglut3-dev libgl1-mesa-glx libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev 

代码本身应该没问题,因为它在所有其他机器上都能完美运行,但在我的 Ubuntu/GPU 组合上却不行(?)。

相应的 CMakesLists.txt
cmake_minimum_required(VERSION 2.8)
project( gpuSobel )
find_package( CUDA REQUIRED)
find_package( OpenCV REQUIRED )

if (CUDA_FOUND)
message("CUDA found!")
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -O3 -lineinfo -gencode arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_35,code=compute_35)

set(CUDASRCS
main.cu
)

CUDA_ADD_EXECUTABLE(gpuSobel ${CUDASRCS})

else()
message("CUDA not found, abort")
endif()

set(CMAKE_CXX_FLAGS "-g -Wall")

# SSE support
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -msse3")
endif()

target_link_libraries( gpuSobel ${OpenCV_LIBS} )


add_custom_command(TARGET gpuSobel POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/images
$<TARGET_FILE_DIR:gpuSobel>/images)

请有人告诉我为什么还要 sudo在这里无能为力,是编译错误还是Linux错误?

最佳答案

你见过http://bikulov.org/blog/2013/12/24/example-of-cmake-file-for-cuda-plus-cpp-code/ ??
我总是将他们的代码用于 Cmake。

关于ubuntu - 无法将文件标记为可执行文件 (?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31279401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com