我从他们的主页"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
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-dev和libglu1-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是"弃用".我正是以正确的方式使用它吗?
我想构建"gcc交叉编译器"来编译"Linux"环境中的"c/c ++"应用程序,但是用于"Windows"目标.
到目前为止我做到了这一点:
安装了用于构建GCC" 前提条件 "页面上列出的GCC所需的工具和软件包.
下载所需资料来源:
" gcc-core-4.4.1 "," gcc-g ++ - 4.4.1 "," binutils- 2.19.1 "," w32api-3.13-mingw32 "," mingwrt-3.16-mingw32 "
创建了这个目录层次结构:
"$ {HOME}/gcc /" - 用于最终交叉编译器
"$ {HOME}/src /" - 用于源
"$ {HOME}/src/build-binutils/i386-mingw32 /" -用于构建binutils到"i386-mingw32"目标
"$ {HOME}/src/build-gcc/i386-mingw32 /" - 用于构建gcc到"i386-mingw32"目标
建筑binutils包:
cd"$ {HOME}/src/build-binutils/i386-mingw32
/"../../binutils-2.19.1/configure --prefix ="$ {HOME}/gcc"--target = i386-mingw32 --disable-nls
make
make install
将"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) 我想通过"工具/插件"将"UML插件"下载到NetBeans,但我没有在那里找到插件.然后我在很多文章中读到"不再支持NetBeans UML插件":-(.
然后我发现存在一些支持NetBeans中的UML的"NetBeans SDE"工具,并且该工具的"社区版"是免费的,但仅用于"非商业"用途 - 所以它不是开源的 - 所以我不想用它.
所以我想问一下,如果Sun(或其他正式维护(或维护过去)NetBeans UML插件的人)不再支持NetBeans的UML插件,如果是这样,是否有任何"开源" "版本"6.8"和"稍后"支持的UML插件,如果是这样的话 - 哪个?
谢谢.
我正在从boost源代码构建"boost"库,我有两个选择:构建它"静态"或构建它"共享"(例如动态).哪个更好主意?
我更喜欢动态(共享)链接,但是当我尝试构建boost共享库时(在Ubuntu Linux上),我收到了很多错误或警告(为什么在编译时总会出现错误,警告,注释和其他内容,grrrrrrrr),所以我不知道它编译好吗?
谢谢.
当我想在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)
谢谢.
当我用"gtkmm"编程时,有一个小部件"Gtk :: DrawingArea".
我可以"手动"编程那个小部件(所以编写代码)或更优雅的方式是使用"glade"用户界面设计器,在那里我可以"图形化"地做同样的事情.
现在我试图通过"gtkglextmm"库将OpenGL与gtkmm连接起来.在该库中,有一个小部件"Gtk :: GL :: DrawingArea" - 但这个小部件" 不在"空地中可用.
那么有没有办法使用"glade"(对于"图形用户界面"部分)使用"OpenGL + gtkglextmm"进行编程?
谢谢.
我正在编写一个Java应用程序,它可以"加密"并因此"解密"任何二进制文件.
我只是"加密"领域的初学者,所以我想在开始时编写一个非常简单的应用程序.
为了读取原始文件,我可能会使用java.io.FileInputStream该类来获取文件的"字节数组" byte originalBytes[].
然后我可能会使用一些非常简单的密码,例如" 将每个字节向上移动1 "然后我会得到"加密"字节byte encryptedBytes[],让我们说我也会为它设置一个"密码",例如"123456789" .
接下来,当有人想要"解密"该文件时,他必须首先输入密码("123456789"),之后文件可以被解密(因此" 每个字节向下移动1 ")并因此保存到输出文件中通过java.io.FileOutputStream.
我只是想知道如何将密码信息"存储"到加密文件中,以便解密应用程序知道输入的密码和"真实"密码是否等于?
将密码(例如密码字母的ASCII序号)添加到文件的开头(加密数据之前)可能是愚蠢的.
所以我的主要问题是如何将密码信息存储到加密文件中?