标签: codeblocks

2个相同的程序; 只有1要求提升

在win32(mingw)上编译我的程序时,我遇到了一个有趣的问题.我有两个相同的项目,都是用C :: B创建的.编译时,它运行正常而不需要提升权限,但另一个提示用户使用"允许程序更改计算机等..."对话框.我希望该应用程序不会提示用户,因为它不需要提升权限.

这是在Win7 x64下.

这可能是Code :: Blocks问题,还是编译问题?

谢谢!

c++ uac mingw codeblocks

6
推荐指数
1
解决办法
355
查看次数

如何为cin提供自己的分隔符?

在c中,我可以使用换行分隔符([^ \n])和scanf.使用我可以存储的线.同样对于cin,我可以使用getline.

如果我必须存储一个段落,我可以使用我自己的特殊字符分隔符来模拟功能,例如[^#]或[^\t]和c中的scanf函数.

char a[30];
scanf("%[^\#]",a);
printf("%s",a);
Run Code Online (Sandbox Code Playgroud)

如何在cpp中实现与cin对象类似的功能.

c++ user-input codeblocks ubuntu-11.04

6
推荐指数
1
解决办法
7192
查看次数

Code :: Blocks控制台应用程序不会显示输出

我在Code :: Blocks中有一个应用程序,它是简单的Hello,World传统程序.

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

程序构建并执行,但输出未显示.我在Code :: Blocks中检查了项目属性,它肯定设置为控制台应用程序.有关问题的任何建议吗?

编辑:输出仅在IDE中失败.单独运行时,生成的可执行文件完全按预期运行.

c++ codeblocks

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

是否可以在Code :: Blocks中使用vi模式?

Eclipse中有viPlugin,NetBeans中有jvi.我的问题是,是否有一个插件,我可以在Code :: Blocks中使用vi模式?

vim codeblocks

6
推荐指数
1
解决办法
5460
查看次数

如何在Code :: Blocks中使用wmain()入口点?

我重新安装了Code :: Blocks(我安装了一个用于Windows 7的GCC编译器(codeblocks-10.05mingw-setup.exe)).然后我尝试编译这个非常简单的代码:

int wmain(int argc, wchar_t* argv[])
{
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

C:\研发\ IDE \代码块\ MinGW的\ BIN ..\LIB\GCC \的mingw32\4.4.1 ......\libmingw32.a(main.o),此:main.c中|| 未定义的引用`WinMain @ 16'| || ===构建完成:1个错误,0个警告=== |

当我尝试使用main()条目运行我的代码时,它会按预期运行而不会出现任何错误或警告.我如何wmain()在我的代码中使用?我需要做哪些修改?

c++ unicode mingw codeblocks wmain

6
推荐指数
2
解决办法
2022
查看次数

无法将'LPCWSTR {aka const wchar_t*}'转换为'LPCSTR {aka const char*}

我一直在尝试让Glew和opengl 3.2在win32上下文中使用代码块(minGW).我在这里找到了一个不错的小教程

正如我一直试图解决的问题,如果在代码块中编译glew实际上是可行的,我想在完成教程之前尝试使用源代码来查看它是否可行.

在略微调整代码后,我尝试编译并得到了一些我以前从未见过的错误.他们如下

|In function 'bool createWindow(LPCWSTR, int, int)':|
|73|error: cannot convert 'LPCWSTR {aka const wchar_t*}' to 'LPCSTR {aka const char*}' in assignment|
|80|error: cannot convert 'LPCWSTR {aka const wchar_t*}' to 'LPCSTR {aka const char*}' for argument '2' to 'HWND__* CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID)'|
|In function 'int WinMain(HINSTANCE, HINSTANCE, LPSTR, int)':|
|105|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]|
|110|error: '_TRUNCATE' was not declared in this scope|
|110|error: …
Run Code Online (Sandbox Code Playgroud)

c++ winapi glew mingw codeblocks

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

如何在Codeblocks10.05中进入C99模式?

我最近意识到在收到编译错误后我甚至都没有处于C99模式

'for'循环初始声明仅允许在C99模式下使用

我发现如何通过一个快速搜索已经叫我去去C99一些建议,Projects -> Properties...但很可惜,它是灰色的,我不知道,甚至修复它(可能不可用,因为我的文件是正确的方法不是一个项目,它是一个普通的源文件).我也看到很多类似的问题说启用C99模式,所以我查看了编译器标志菜单,但我看不到有关C99的任何信息.我已经尝试了其他一些标志,例如In C Mode,支持所有ISO C90程序......,但是在我设置了这个标志后,我得到的错误比之前的编译器在main()中找到注释时似乎出现的错误更多.

注意:请不要只是说在for循环之外初始化计数器.

更新:尝试使用gcc在代码块之外编译时,我试过 gcc -O2 -std=C99 filename.c,但收到错误:

无法识别的命令行选项"-std = C99"

我使用64位Windows 7,CodeBlocks10.05和GNU gcc.

c c99 codeblocks

6
推荐指数
1
解决办法
9930
查看次数

C++ linux:dlopen找不到.so库

重新提出问题(尽管已经解决了):

我在使用dlopen(3)在linux上加载共享对象库时遇到了麻烦.该库是由我构建的库系统的一部分,它们都在运行时由中央可执行文件加载.所有这些都被组织到Code :: Blocks中的单个工作区中,其中每个项目在名为Source的目录中被赋予其自己的文件夹,该目录将随程序一起提供.可执行文件的构建目录是从其自己的源代码向后的两个目录,因此exectuable和Source文件夹位于同一目录中.这些库也构建到与可执行文件相同的目录中,所以我自然会传递库的名称我正试图打开如图所示:

int main(int argc, char** argv) {
    void* hLibrary = dlopen("libLibrary.so", RTLD_NOW | RTLD_GLOBAL);
    if(hLibrary == NULL) {
        fprintf(stderr, "%s\n", dlerror());
        return 1;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当构建目录与源代码相同时,这一点正在工作,直到我将源代码的目录更改为上述安排.此时的问题是dlerror()返回"无法打开libLibrary.so:没有这样的文件或目录",即使该文件明显存在并且与可执行文件位于同一目录中.然后我尝试传入"/libLibrary.so",因为根据dlopen(3)上的手册页,添加/表示相对目录.这返回了相同的错误.

对此的解决方案是需要"./" - 其中"." 表示可执行文件的工作目录 - 并且需要在Code :: Blocks中将工作目录更改为要构建可执行文件的位置.以下工作完美:

void* hLibrary = dlopen("./libLibrary.so", RTLD_NOW | RTLD_GLOBAL);
Run Code Online (Sandbox Code Playgroud)

这并没有真正显示完整的解决方案,但以下基本上相当于我正在做的事情:

void* hLibrary = dlopen("./../../libLibrary.so", RTLD_NOW | RTLD_GLOBAL);
Run Code Online (Sandbox Code Playgroud)

希望这能更好地解释情况.

c++ linux codeblocks dynamic-library

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

C++未定义的对WinMain @ 16的引用(Code :: Blocks)

我正在使用Code :: Blocks学习C++,每次我尝试创建一个新类时,都会收到一条错误消息:

undefined reference to `WinMain@16'
Run Code Online (Sandbox Code Playgroud)

这是我一直在使用的代码:

主类

#include "Lime.h"
#include <iostream>
using namespace std;
int main()
{
    Lime lime;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Lime Class(.ccp):

#include "Lime.h"
#include <iostream>
using namespace std;
Lime::Lime()
{
    cout<<"Hi!";
}
Run Code Online (Sandbox Code Playgroud)

Lime Header(.h):

#ifndef LIME_H
#define LIME_H
class Lime
{
    public:
        Lime();
};
#endif
Run Code Online (Sandbox Code Playgroud)

如果有人知道,如何解决它,请告诉我!

c++ codeblocks

6
推荐指数
3
解决办法
6万
查看次数

C++代码::块自动完成不起作用

我刚刚开始用Code :: Blocks学习C++.当我第一次使用它时,自动完成工作正常,但现在它不是出于某种原因.我的意思是自动完成是这样的:

#include <iostream>
using namespace std;

int main(){
    int test;
}
Run Code Online (Sandbox Code Playgroud)

如果我输入"te"(没有引号),我就不会得到一个包含变量名称的框.任何帮助,将不胜感激.

c++ autocomplete codeblocks

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

标签 统计

codeblocks ×10

c++ ×8

mingw ×3

autocomplete ×1

c ×1

c99 ×1

dynamic-library ×1

glew ×1

linux ×1

uac ×1

ubuntu-11.04 ×1

unicode ×1

user-input ×1

vim ×1

winapi ×1

wmain ×1