我使用MinGW配置CLion工具链,并在Windows 7中设置环境变量,也可以使用GCC在cmd控制台中编译和构建并运行hello.c

F:\c_cpp\
|-- cmake-build-debug\
|-- CMakeLists.txt
|-- hello.c
|-- library.c
`-- library.h

以下是我的CMake文件:

cmake_minimum_required(VERSION 3.8)
project(c_cpp)

set(CMAKE_C_STANDARD 99)

set(SOURCE_FILES library.c library.h hello.c)
add_library(c_cpp ${SOURCE_FILES})

当我单击运行按钮并选择“运行c_cpp”时,发生了错误。

运行'c_cpp'时出错:无法运行程序“ F:\\ c_cpp \\ library.c”(在目录“ F:\\ c_cpp”中):CreateProcess error = 193,%1不是有效的Win32应用程序。

我该怎么办?

#1楼 票数:3 已采纳

您正在构建无法执行的库。

如果hello.c是使用您的库的应用程序,请更改

add_library(c_cpp ${SOURCE_FILES})

add_executable(hello ${SOURCE_FILES})

之后,您应该可以运行hello

  ask by dogewang translate from so

未解决问题?本站智能推荐:

6回复

如何在CLion中创建、编译和运行单个文件

我正在研究一些C++ 的东西,我讨厌为了在文件上运行一些东西而不得不创建一个全新的项目。 我也不喜欢创建项目时文件已经被称为main.cpp 。 我只想制作一个包含几个函数或类的文件。 创建整个项目还不够重要。 我想创建一个文件并按我想要的方式调用它。 只需创建一个我称之为的文件,然后编译并运行。
1回复

无法使用.asm文件构建CLion项目

在Linux上运行CLion ,我一直试图让 .asm 文件工作。 这就是我的测试项目的样子(它在Windows/Mac上100%工作,只需要在.asm文件中添加.intel_syntax )。 安装了NASM程序集支持插件。 主文件: 测试.asm: CMakeLists.txt: 如何配置CL
1回复

CLion在main.c中找不到要在外部.c文件中使用的标头

所以我的情况是这样的,我有三个文件: main.c: 你好: 你好ç: 我的Cmake文件看起来像这样: 代码运行正常。 但是,CLion无法识别hello.c中的printf()函数,并希望我将其添加为头文件。 有没有办法让它在main.c文件中看到#include &
1回复

(CLion/CMake)当我的c文件保存在项目目录中时,为什么我的c文件不属于任何目标项目?

前言:我对c和CLion还是很陌生,所以如果我的措辞很错误,请提前道歉。 本质上,我的作业涉及两个c文件(一个“ main”文件,一个执行英制和公制单位之间的转换)。 主c文件仅#include-s转换文件,在转换文件中执行功能,然后将结果值打印给用户。 很简单,但是每次尝试运行它时,我
2回复

默认情况下在Clion中创建C项目

我一直在Windows中使用Clion,可以选择要创建的项目类型(c / c ++),但在Mac中,它不要求我在项目类型之间进行选择。 默认情况下设置为c++ 。 但是,按照此方法如何使用CLion创建C项目,一次又一次将.cpp重命名为.c似乎不是一个好主意(耗时)。 那么,在设置/首选
1回复

如何在CLion中编译子目录文件?

我有一个名为CPrimerPlus6thEdition的项目。 我正在尝试编译一个名为FirstLastNames.c的独立程序,该程序具有自己的int main()函数。 这是我的文件夹结构。 这是我的CMakeLists.txt文件。
2回复

如何使用CLion创建C项目

自从CLion一个月前发布以来,关于它的文件并不多。 所以我对如何使用CLion创建ac项目感到困惑,当我想创建一个新项目时,我只询问项目的名称并创建一个默认的main.cpp和CMakeLists.txt文件,该文件引用main.cpp文件。 我可以将文件main.cpp重命名为 - &g
1回复

clion在每个版本上运行cmake

我不确定是否可以用clion做到这一点,我正在测试该程序并喜欢用它编写c代码,因为ctags和etags支持确实很好。 我将一些文件从cmake源代码树复制到每个版本的bin位置。 在使用clion时,如果我更新要复制的某些文件,则结果不会在clion中更新。 如果我改为返回终端,然后