标签: codeblocks

如何成功使用VIM作为Code :: Blocks的外部编辑器?

我非常喜欢Code :: Blocks作为其构建系统并逐步调试功能 - 即我非常喜欢使用封装到gcc/gdb而不是使用Makefile或命令行.问题是,经过多年的VIM使用,我无法在大脑中受到损坏(或者有些人可能会说,而且我无法在标准的Windows文本编辑器中进行编辑).

因此,我设置Code :: Blocks以使用VIM作为.cpp / .c/*.h 的文件处理程序.以及VIM的--server-name和--remote-tab选项可以右键单击我的C中的文件: :B项目窗口并选择使用文件扩展名处理程序打开它们,它们在单个VIM窗口中弹出为新选项卡 - 然后我切换回C :: B,点击F9进行构建和运行等.

我想改进我的工作流程,所以问题有两个:

  1. 当我双击项目文件列表中的文件而不必右键单击 - >打开文件扩展名处理程序时,我可以默认使C :: B打开VIM吗?

  2. 我可以在VIM中进行一些绑定,这样我可以点击一个按钮并让Code :: Blocks构建/运行/调试我的项目吗?

WRT 2,我知道C :: B有重建项目的命令行选项,但这与打开C :: B窗口并看到编译日志/监视窗口不同.我还注意到C :: B有一个非常基本的DDE接口 - 我可以使用VIM发送DDE命令吗?也许有一个简单的SendKeys插件我还没发现我可以破解工作?

或者,是否有像C :: B这样的轻量级IDE,这使得使用外部编辑器非常容易?我不准备运行Eclipse,在Visual Studio中使用Microsoft的编译器让我感到尴尬.

任何帮助赞赏.

谢谢,约翰

c++ ide vim codeblocks

7
推荐指数
1
解决办法
4917
查看次数

CodeBlocks,GCC:改变项目语言c和c ++?

当我选择开始使用控制台项目时,它允许您选择C或C++.但是一旦创建,我无法弄清楚如何改变它.另外,当您创建Win32 GUI应用程序时,它根本不提供选项,其默认值为C++.

我在哪里可以换成C?我一直在寻找所有项目设置.从我的重命名文件.cpp.c似乎并没有做任何事情,它编译文件作为C++.我知道没有IDE,你只需将可执行文件更改g++gcc,但是如何为CodeBlocks中的当前项目设置它?

c c++ windows codeblocks

7
推荐指数
1
解决办法
1万
查看次数

如何通过MinGW + Code :: Block编译GUI程序的控制台盒

当我使用命令行测试在MinGW + MSys中编译一个简单的Win32 GUI程序并运行它:

$ g ++ main.cpp -o app -std = c ++ 0x

$ ./app

只显示一个对话框.但是把这个程序放到Code :: Block IDE中并编译它,它带有一个带有对话框的黑色控制台盒.在链接选项中添加-mwindows无效.

main.cpp中

#include <windows.h>
int WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
    MessageBox(0,"Hello, Windows","MinGW Test Program",MB_OK);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ mingw codeblocks

7
推荐指数
1
解决办法
9463
查看次数

用C++认证libcurl FTP下载

我正在尝试使用libcurl上传文件,但似乎它没有验证与我的服务器的连接.我试过使用ftp://username:password@example.com/但无济于事.这是我的代码:

#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#ifdef WIN32
#include <io.h>
#else
#include <unistd.h>
#endif
#define LOCAL_FILE      "C:/myfile.txt"
#define UPLOAD_FILE_AS  "file.txt"
#define REMOTE_URL      "ftp://example.com/"  UPLOAD_FILE_AS
#define RENAME_FILE_TO  "file.txt"
static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream)
{
    curl_off_t nread;
    size_t retcode = fread(ptr, size, nmemb, (FILE *) stream);
    nread = (curl_off_t) retcode;
    fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T " bytes from filen", nread);
    return retcode;
}

int main(void) …
Run Code Online (Sandbox Code Playgroud)

c c++ ftp codeblocks libcurl

7
推荐指数
1
解决办法
6173
查看次数

$ PATH或/ usr5bin中没有可用的M4

作为漫长而肮脏的故事的一部分,其最终目标只是安装GMP以与Windows中的code :: blocks一起使用,我正在尝试配置gmp.我使用以下命令执行此操作:

./configure --prefix = $ {gmp_install}

一切都开始得很好.几分钟后,一点点进展,一切都停止了,我得到这个消息:

configure:error:$ PATH或/ usr5bin中没有可用的M4

我甚至不知道M4是什么,但我发现它是某种宏处理器.所以我下载它,并将文件夹添加到我的Path变量.然后我再次启动配置,但结果相同.

我需要做些什么让M4让它运转起来吗?我真的很茫然.谢谢你的帮助.

windows codeblocks gmp m4

7
推荐指数
1
解决办法
8776
查看次数

代码块在编译后需要很长时间才能执行

我在使用 Code:Blocks 时遇到了一个奇怪的问题。编写 C 程序后,我单击 Build 并运行,它在几分之一秒内编译,但随后打开一个新窗口,大约 12 秒后输出出现在窗口上。甚至像这样的基本代码也需要很多时间

#include<stdio.h>
int main()
{
    printf("HELLO");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

以下是所发生情况的快照。由于我不允许发布图片{新论坛}我发布链接。

当我点击构建并运行时,这个窗口很快就会出现

在此处输入图片说明

然后大约 10-12 秒后,将出现此窗口。如您所见,它说执行时间花了 11 秒。

在此处输入图片说明

知道为什么会这样吗?如何解决?我没有对代码进行任何调整:块和设置与默认情况下相同。

c c++ codeblocks

7
推荐指数
1
解决办法
1万
查看次数

ffmpeg 在 libavutil 中缺少 config.h(没有此类文件或目录)CodeBlocks

当我在 CodeBlocks 中测试ffmepg 编码/解码 exapmle c 程序时,它显示:

/ffmpeg_sources/ffmpeg/libavutil/internal.h    fatal error: config.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

ffmpeg_source/libavutil文件夹中的许多其他头文件中发生错误。我搜索了该文件夹但没有找到 config.h 文件。其他文件夹中有 config.h,但不适用于 libavutil 文件夹中的头文件。

我尝试下载最新的 ffmepg zip 文件,但也找不到其中的 config.h 文件。

我应该在哪里找到该文件?

c c++ ffmpeg codeblocks

7
推荐指数
1
解决办法
1万
查看次数

为什么pow()从我的结果中减去1?

我是C编程的新手,我编写了这段代码,因为我被要求主要使用printf()和scanf()来做一些事情.我知道可以有更好的方法来解决这个问题,我很快就需要学习,但无论如何,现在这就是我所拥有的:

int add1, add2, exponent, exponent_result, multiplier, parenthese, product, sub, total;

printf("Let's try a slightly more complex calculation, in which we'll use an exponent.\n\n");
printf("Type 5 whole numbers or integers.\n\n");
scanf("%i %i %i %i %i", &add1, &add2, &exponent, &multiplier, &sub);
printf("Out of the numbers you typed, we're going to make this operation: (%i + %i^%i) * %i - %i\n\n", add1, add2, exponent, multiplier, sub);

exponent_result = pow(add2, exponent);
parenthese = add1 + exponent_result;
product = parenthese * multiplier;
total = …
Run Code Online (Sandbox Code Playgroud)

c math codeblocks

7
推荐指数
1
解决办法
169
查看次数

静态库缺少`__imp_`符号

编辑:找到了解决方案,但还不能接受我自己的答案。

我在将库静态链接到我的程序时遇到一些问题。我使用 MinGW 工具链和 Code::Blocks 作为 IDE/构建系统,从 Linux 交叉编译到 Windows。我还使用与程序相同的工具链自己编译了该库。

我对于交叉编译和 Windows 编译都是完全陌生的。

编辑:我刚刚在 Windows XP 的虚拟安装上尝试了相同的过程(使用 Code::Block 捆绑的 MinGW)并遇到了相同的问题,所以我想这不是因为交叉编译器。

问题

我将在下面给出所有详细信息,但本质上问题是链接器抱怨缺少_imp__some_symbol符号。这些符号存在于静态库中,但不是作为_imp__some_symbol,而只是作为_some_symbol。我已经通过 grep 的输出验证了这一点nm libSomeLibrary.a

细节

该库本身是 BearLibTerminal (您可以在https://bitbucket.org/cfyzium/bearlibterminal/downloads/找到源代码)。如前所述,我自己使用与主程序相同的工具链从源代码编译了它。

我的主程序包含的代码是 BearLibTerminal 给出的“Hello world”示例http://foo.wyrd.name/en:bearlibterminal#simple_examplec_c

#include "BearLibTerminal.h"

int main()
{
    terminal_open();

    // Printing text
    terminal_print(1, 1, "Hello, world!");
    terminal_refresh();

    // Wait until user close the window
    while (terminal_read() != TK_CLOSE);

    terminal_close();
}
Run Code Online (Sandbox Code Playgroud)

我完整的 Code::Blocks 构建日志可以在https://pste.eu/p/VMJp.html找到。它包含 BearLibTerminal 及其依赖项的构建日志,以及我的程序。

相关的部分(我认为)是:

i686-w64-mingw32-g++ -Wall -fexceptions …
Run Code Online (Sandbox Code Playgroud)

c++ windows mingw codeblocks static-linking

7
推荐指数
1
解决办法
1751
查看次数

如何在一个注释中突出显示一段代码?

如何在一个注释中突出显示一段代码?有没有一个插件可以帮助我?

plugins codeblocks highlight onenote

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

codeblocks ×10

c++ ×7

c ×5

windows ×3

mingw ×2

ffmpeg ×1

ftp ×1

gmp ×1

highlight ×1

ide ×1

libcurl ×1

m4 ×1

math ×1

onenote ×1

plugins ×1

static-linking ×1

vim ×1