小编Pet*_*ike的帖子

Boost - 交叉编译 - "从Linux"到"Windows"

我从他们的主页"www.boost.org"下载了"boost"(1.40.0)源代码.我安装了Linux(Ubuntu 9.04 Jaunty)并尝试从我的"LINUX"机器将boost库编译为"WINDOWS"版本(例如".dll",而不是".so").

现在是一个重要的问题:

是否有可能从"LINUX"编写"WINDOWS"BOOST LIBRARIES(如果有人说"是",我会信任他,只要他之前已经完成它将在这里写一个对我有用的解决方案.抱歉悲观,但我试图这样做3天,到目前为止没有任何积极的事情)

到目前为止,我已经用这种方式编译了c ++程序.对于从Linux到Linux的编译,我使用了"gcc"(或"g ++")编译器.对于从Linux到Windows的编译,我使用了"i586-mingw32msvc-gcc"(或"i568-mingw32msvc-g ++")编译器(例如,"mingw32"包中包含"Ubuntu").

所以这个策略我也想用来编译boost库,到目前为止我已经尝试了这个(在阅读boost主页上的"入门"文章之后):

--1.我从"root"boost源代码目录运行"bootstrap.sh":

./bootstrap.sh
Run Code Online (Sandbox Code Playgroud)

--2.然后我在"project-config.jam"文件中更改了一件事(来自"using gcc;"):

using gcc : : i586-mingw32msvc-gcc ;
Run Code Online (Sandbox Code Playgroud)

--3.最后运行"bjam"可执行文件:

./bjam stage
Run Code Online (Sandbox Code Playgroud)

但是,我没有创建升级库的"Windows"版本,而是获得了大量的错误消息.

有谁能够帮我?

提前致谢.

Petike

c++ boost compilation

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

OpenGL + Mesa 3D + MinGW

I程序上(Ubuntu的)Linux的C++应用程序并将其编译成2个操作系统:本地到Linux的通过使用"G ++"(GNU C++编译器)和它们交叉编译到视窗通过使用"I386-的mingw32-G ++"(MinGW的C++横-compiler).

现在,我正在尝试交叉编译"OpenGL"应用程序(从Linux到Windows) - 因为我需要一些OpenGL库文件.
作为OpenGL的一个实现,我使用"Mesa 3D"开源库.幸运的是,Ubuntu为Linux提供了"预编译"的mesa3d库(libgl1-mesa-devlibglu1-mesa-dev),但不幸的是,没有任何预编译库可用于MinGW交叉编译器(因此它们的Windows版本) - 所以我"必须"从源头手动编译它们(可以从http://www.mesa3d.org主页下载).

但我不知道这样做.内mesa3d源代码,还有一些文件如何构建库对于某些特定的平台-特别是有"README.MINGW32"自述文件.
但只是在第一行有一些命令

mingw32-make -f Makefile.mgw [OPTIONS...]
Run Code Online (Sandbox Code Playgroud)

我无法运行,因为我没有安装任何"mingw32-make"程序.通过其他软件,我曾经用"经典"来构建它们

./configure -> make -> make install
Run Code Online (Sandbox Code Playgroud)

过程,但这不适用于mesa3d库.
例如,我也尝试过

./configure --host=i386-mingw32
Run Code Online (Sandbox Code Playgroud)

它已配置好,但在打字后

make
Run Code Online (Sandbox Code Playgroud)

它引发了一些错误

error: #error No PIPE_SUBSYSTEM_WINDOWS_xxx subsystem defined.
Run Code Online (Sandbox Code Playgroud)

现在我很失落:-(.

那么有谁知道如何构建mesa3d库以便与mingw32一起使用它们?

PS:当然,我不想使用Microsoft Visual Studio ,而不是更多:-).而且我还想做所有必要的事情来从Linux构建OpenGL环境并使用mingw32进行交叉编译.我希望有可能.

PS2:http://www.mesa3d.org/systems.html页面上写道,使用MinGW和Mesa 3D是"弃用".我正是以正确的方式使用它吗?

opengl mingw

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

构建GCC交叉编译器(从"Linux"到"Windows")

我想构建"gcc交叉编译器"来编译"Linux"环境中的"c/c ++"应用程序,但是用于"Windows"目标.

到目前为止我做到了这一点:

  1. 安装了用于构建GCC" 前提条件 "页面上列出的GCC所需的工具和软件包.

  2. 下载所需资料来源:
    " gcc-core-4.4.1 "," gcc-g ++ - 4.4.1 "," binutils- 2.19.1 "," w32api-3.13-mingw32 "," mingwrt-3.16-mingw32 "

  3. 创建了这个目录层次结构:
    "$ {HOME}/gcc /" - 用于最终交叉编译器
    "$ {HOME}/src /" - 用于源
    "$ {HOME}/src/build-binutils/i386-mingw32 /" -用于构建binutils到"i386-mingw32"目标
    "$ {HOME}/src/build-gcc/i386-mingw32 /" - 用于构建gcc到"i386-mingw32"目标

  4. 建筑binutils包:

    cd"$ {HOME}/src/build-binutils/i386-mingw32
    /"../../binutils-2.19.1/configure --prefix ="$ {HOME}/gcc"--target = i386-mingw32 --disable-nls
    make
    make install

  5. 将"w32api"和"mingwrt"标头复制到安装目录:

    cp -R"$ {HOME} /src/w32api-3.13-mingw32/include""$ {HOME}/gcc/i386-mingw32"
    cp -R"$ {HOME} /src/mingwrt-3.16-mingw32/include" "$ {HOME}/GCC/I386-的mingw32"


现在当我尝试构建"c(唯一)交叉编译器"时:

cd "${HOME}/src/build-gcc/i386-mingw32/"
../../gcc-4.4.1/configure --prefix="${HOME}/gcc" --target=i386-mingw32 --enable-languages=c --with-headers="${HOME}/gcc/i386-mingw32/include" --disable-nls
make<br>
Run Code Online (Sandbox Code Playgroud)

它正在构建大约4分钟的东西然后给我这些错误:

${HOME}/gcc/i386-mingw32/bin/ld: dllcrt2.o: …
Run Code Online (Sandbox Code Playgroud)

compiler-construction gcc cross-platform

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

NetBeans("6.8"和"更高版本") - UML支持?

我想通过"工具/插件"将"UML插件"下载到NetBeans,但我没有在那里找到插件.然后我在很多文章中读到"不再支持NetBeans UML插件":-(.

然后我发现存在一些支持NetBeans中的UML的"NetBeans SDE"工具,并且该工具的"社区版"是免费的,但仅用于"非商业"用途 - 所以它不是开源的 - 所以我不想用它.

所以我想问一下,如果Sun(或其他正式维护(或维护过去)NetBeans UML插件的人)不再支持NetBeans的UML插件,如果是这样,是否有任何"开源" "版本"6.8"和"稍后"支持的UML插件,如果是这样的话 - 哪个?

谢谢.

uml netbeans

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

Boost - "静态"与"共享"库

我正在从boost源代码构建"boost"库,我有两个选择:构建它"静态"或构建它"共享"(例如动态).哪个更好主意?

我更喜欢动态(共享)链接,但是当我尝试构建boost共享库时(在Ubuntu Linux上),我收到了很多错误或警告(为什么在编译时总会出现错误,警告,注释和其他内容,grrrrrrrr),所以我不知道它编译好吗?

谢谢.

c++ boost compilation

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

Unix - 如何在目录中获取多个shell脚本?

当我想在Unix中执行一些shell脚本时(让我们说我在脚本所在的目录中),我只需输入:

./someShellScript.sh
Run Code Online (Sandbox Code Playgroud)

当我想"获取"它时(例如在当前shell中运行它,而不是在新的shell中),我只需用"."键入相同的命令.(或者使用"source"命令等效)之前:

. ./someShellScript.sh
Run Code Online (Sandbox Code Playgroud)


而现在是棘手的部分.当我想在当前目录中执行"多个" shell脚本(假设所有带.sh后缀的文件)时,我输入:

find . -type f -name *.sh -exec {} \;
Run Code Online (Sandbox Code Playgroud)

"我应该使用什么命令来"源"目录中的多个shell脚本"
到目前为止我试过这个但是它不起作用:

find . -type f -name *.sh -exec . {} \;
Run Code Online (Sandbox Code Playgroud)

它只是抛出这个错误:

find: `.': Permission denied
Run Code Online (Sandbox Code Playgroud)


谢谢.

unix shell

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

OpenGL + gtkglextmm + glade

当我用"gtkmm"编程时,有一个小部件"Gtk :: DrawingArea".
我可以"手动"编程那个小部件(所以编写代码)或更优雅的方式是使用"glade"用户界面设计器,在那里我可以"图形化"地做同样的事情.

现在我试图通过"gtkglextmm"库将OpenGL与gtkmm连接起来.在该库中,有一个小部件"Gtk :: GL :: DrawingArea" - 但这个小部件" 不在"空地中可用.

那么有没有办法使用"glade"(对于"图形用户界面"部分)使用"OpenGL + gtkglextmm"进行编程?

谢谢.

opengl glade gtkmm

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

如何用Java加密/解密文件?

我正在编写一个Java应用程序,它可以"加密"并因此"解密"任何二进制文件.

我只是"加密"领域的初学者,所以我想在开始时编写一个非常简单的应用程序.

为了读取原始文件,我可能会使用java.io.FileInputStream该类来获取文件的"字节数组" byte originalBytes[].

然后我可能会使用一些非常简单的密码,例如" 将每个字节向上移动1 "然后我会得到"加密"字节byte encryptedBytes[],让我们说我也会为它设置一个"密码",例如"123456789" .

接下来,当有人想要"解密"该文件时,他必须首先输入密码("123456789"),之后文件可以被解密(因此" 每个字节向下移动1 ")并因此保存到输出文件中通过java.io.FileOutputStream.


我只是想知道如何将密码信息"存储"到加密文件中,以便解密应用程序知道输入的密码和"真实"密码是否等于?

将密码(例如密码字母的ASCII序号)添加到文件的开头(加密数据之前)可能是愚蠢的.


所以我的主要问题是如何将密码信息存储到加密文件中

java encryption passwords

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