青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Building OpenSSL for Visual Studio

轉載自:http://developer.covenanteyes.com/building-openssl-for-visual-studio/

Building OpenSSL for Visual Studio on Windows is mostly straight-forward, but it has some quirks. I’ll document the results of my wrestling here so that future attempts will be less painful.

What you need

You need to install…

Setting up for the build

Unzip3 the OpenSSL source code into two different folders, one for the 32-bit build and one for the 64-bit build4. So, for example, you might end up with C:\openssl-src-32 and C:\openssl-src-64.

Building the 32-bit static libraries

  1. Open the Visual Studio Command Prompt (2010)5.
  2. cd to your OpenSSL source folder for 32-bit (e.g. cd C:\openssl-src-32).
  3. Run the following: 6
perl Configure VC-WIN32 --prefix=C:\Build-OpenSSL-VC-32
ms
\do_ms
nmake 
-f ms\nt.mak 
nmake 
-f ms\nt.mak install

Your outputs will be in C:\Build-OpenSSL-VC-32.

Building the 32-bit static libraries with debug symbols

These steps will embed the debug symbols directly into the .lib files. Don’t expect to see any .pdb files.

  1. Open the Visual Studio Command Prompt (2010).
  2. cd to your OpenSSL source folder for 32-bit (e.g. cd C:\openssl-src-32).
  3. Run the following:
    perl Configure debug-VC-WIN32 --prefix=C:\Build-OpenSSL-VC-32-dbg
    ms
    \do_ms
  4. In a text editor (like Notepad), open ms\nt.mak and replace all occurrences of /Zi with /Z7. There should be three replacements.7
  5. Run the following:
    nmake -f ms\nt.mak       
    nmake 
    -f ms\nt.mak install

Your outputs will be in C:\Build-OpenSSL-VC-32-dbg. Make sure you rename them to something likelibeay32-debug.lib and ssleay32-debug.lib.

Building the 64-bit static libraries

  1. Open the Visual Studio x64 Win64 Command Prompt (2010) (in the Start menu).
  2. cd to your OpenSSL source folder for 64-bit (e.g. cd C:\openssl-src-64).
  3. Run the following:
    perl Configure VC-WIN64A --prefix=C:\Build-OpenSSL-VC-64
    ms
    \do_win64a
    nmake 
    -f ms\nt.mak   
    nmake 
    -f ms\nt.mak install

Your outputs will be in C:\Build-OpenSSL-VC-64.

Note: The outputs of the 64-bit build are still named libeay32.lib and ssleay32.lib. You’ll have to rename them more sensibly yourself.

Building the 64-bit static libraries with debug symbols

These steps will embed the debug symbols directly into the .lib files. Don’t expect to see any .pdb files.

  1. Open the Visual Studio x64 Win64 Command Prompt (2010).
  2. cd to your OpenSSL source folder for 64-bit (e.g. cd C:\openssl-src-64).
  3. Run the following:
    perl Configure debug-VC-WIN64A --prefix=C:\Build-OpenSSL-VC-64-dbg
    ms
    \do_win64a
  4. In a text editor (like Notepad), open ms\nt.mak and replace all occurrences of /Zi with /Z7 except on the line starting with ASM. There should be two replacements. 8
  5. Run the following:
    nmake -f ms\nt.mak
    nmake 
    -f ms\nt.mak install

Your outputs will be in C:\Build-OpenSSL-VC-64-dbg. Make sure you rename them to something likelibeay64-debug.lib and ssleay64-debug.lib.

What not to do

I tried every method under the sun to get a Windows build of OpenSSL that would link against Visual Studio projects. I learned a great deal along the way. Here’s what I learned not to do:

  • Don’t blindly follow the Windows 32-bit/64-bit installation instructions provided in the OpenSSL source folder. Get guidance online.
  • Don’t build OpenSSL in Cygwin. It’s easy. It won’t link against Visual Studio.
  • Don’t build OpenSSL in MSYS or MinGW. It’s hard. It won’t link against Visual Studio.
  • Don’t try to use NASM like the Windows installation instructions mention. It’s not necessary for Visual Studio builds. (It only supports 32-bit anyway.)
  • Strawberry Perl doesn’t always work in these weird configurations. ActivePerl seemed more stable.
  • Don’t try to build 32-bit and 64-bit OpenSSL in the same folder. The first build will leave artifacts that will mess up the second build. (Running a clean isn’t enough, apparently.)
  • Don’t try to build 32-bit OpenSSL inside of Visual Studio’s 64-bit command prompt and vice versa. It doesn’t work.

References

These were very helpful places:

Footnotes:
1. Strawberry Perl has been less reliable historically, but I see the comments for success stories.
2. OpenSSL version 1.0.1c was the latest at the time of writing.
37-zip is good for unzipping .tar.gz files on Windows. It’s a two-step process.
4. OpenSSL’s build scripts are not clever enough to handle two different platform builds in sequence. Separate platform builds must start from scratch.
5. You can find it somewhere in the Start menu.
6. Using ms\\ntdll.mak will build the shared library instead.
7. The /Zi option works, but it’s hard to find the right .pdb file without specifying more options. For the sake of simplicity, the /Z7 option just embeds all the debug symbols into the .lib files. Read more here.
8. For the 64-bit build, Visual Studio uses MASM (ml64.exe) to compile assembly code. According to MASM’s documentation, the /Z7 option is not supported.

posted on 2016-06-16 18:23 楊粼波 閱讀(535) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一本大道av伊人久久综合| 国产一区二区精品| 亚洲欧美国产精品桃花| 一区二区免费在线播放| 中文网丁香综合网| 亚洲先锋成人| 欧美在线免费观看| 欧美在线免费一级片| 久久精品最新地址| 欧美激情久久久久| 国产精品午夜在线观看| 黄页网站一区| 亚洲精选一区二区| 亚洲影院免费| 毛片一区二区| 亚洲最黄网站| 久久精品理论片| 欧美人在线视频| 国产一区二区精品久久| 日韩亚洲成人av在线| 性欧美长视频| 亚洲国产高清aⅴ视频| 亚洲视频一区在线观看| 久久综合伊人77777尤物| 国产精品久久久久久久久久ktv| 狠狠网亚洲精品| 亚洲一区二区三区三| 免费成人av在线看| 亚洲一区欧美激情| 欧美精品三级日韩久久| 韩日成人在线| 欧美在线地址| 亚洲免费成人| 美女精品网站| 国产一区视频在线看| 在线一区亚洲| 国产一区二区三区四区三区四| 亚洲视频免费| 免费看av成人| 性欧美长视频| 国产精品第2页| 亚洲精品一区二区三区99| 久久国产欧美日韩精品| 99视频一区二区| 欧美大片免费| 在线看片成人| 久久久久国产一区二区三区| 亚洲在线一区二区| 国产精品豆花视频| 亚洲一区二区三区欧美| 99视频在线精品国自产拍免费观看 | 久久久91精品国产一区二区精品| 亚洲美女在线视频| 欧美连裤袜在线视频| 日韩视频在线观看国产| 亚洲电影免费在线观看| 男人的天堂亚洲| 亚洲精品欧美日韩| 91久久精品国产91久久性色| 欧美激情在线免费观看| 一区二区三区av| 一区二区三区四区国产| 国产精品福利av| 欧美一区久久| 久久精品夜色噜噜亚洲aⅴ | 亚洲午夜av| 一区二区三区蜜桃网| 国产精品久久久久毛片大屁完整版 | 国产精品久久久久久模特| 亚洲欧美日韩精品久久奇米色影视 | 乱中年女人伦av一区二区| 久久午夜羞羞影院免费观看| 亚洲黑丝一区二区| 亚洲国产午夜| 欧美亚一区二区| 久久国产精品久久久久久久久久| 久久9热精品视频| 亚洲福利视频专区| 日韩一级成人av| 国产婷婷精品| 欧美国产第一页| 欧美日韩一区在线观看| 欧美一区二区三区四区高清 | 老妇喷水一区二区三区| 欧美成年人视频| 亚洲男人第一av网站| 性久久久久久| 欧美bbbxxxxx| 久久久夜色精品亚洲| 国产综合av| 欧美国产一区二区| 欧美视频成人| 美日韩在线观看| 国产精品a久久久久| 久久久之久亚州精品露出| 欧美刺激性大交免费视频| 亚洲欧美日韩国产成人| 久久性色av| 性欧美超级视频| 欧美激情免费观看| 久久综合九色99| 国产精品乱码| 亚洲日产国产精品| 国产亚洲精品久久久久动| 亚洲精品欧美一区二区三区| 韩日欧美一区| 亚洲一区观看| 99精品国产一区二区青青牛奶| 欧美一区91| 亚洲欧美国产高清va在线播| 欧美高清视频免费观看| 老司机午夜精品| 国产精品人人爽人人做我的可爱| 亚洲国产精品电影| 亚洲高清av| 久久久国产91| 久久国产精品高清| 国产精品久久久久影院亚瑟| 91久久国产综合久久91精品网站| 国产真实乱偷精品视频免| 亚洲一区二区三区午夜| 亚洲午夜小视频| 欧美久久一区| 亚洲欧洲日韩综合二区| 亚洲三级电影全部在线观看高清| 久久久久久精| 欧美va亚洲va日韩∨a综合色| 国产日韩一级二级三级| 亚洲欧美日韩国产中文| 西瓜成人精品人成网站| 国产精品久久久久国产a级| 在线一区二区日韩| 亚洲尤物在线| 国产精品午夜av在线| 亚洲影视在线播放| 午夜在线视频一区二区区别| 国产精品a级| 中文日韩电影网站| 国产日韩欧美三级| 一本色道久久综合一区| 亚洲精品1区| 久久久蜜桃精品| 久久综合99re88久久爱| 狠狠色丁香婷综合久久| 久久久久亚洲综合| 欧美国产日韩一区二区| 亚洲国产老妈| 欧美国产极速在线| 一本久久综合| 久久精品电影| 1000部国产精品成人观看| 老司机精品导航| 久久成人精品无人区| 国产精品久99| 午夜精品在线视频| 亚洲人成人77777线观看| 久久免费国产| 男人天堂欧美日韩| 亚洲第一区在线观看| 欧美a级一区| 中文网丁香综合网| 久久人人爽爽爽人久久久| 91久久精品国产91性色tv| 欧美另类在线观看| 亚洲影视中文字幕| 欧美成人tv| 亚洲永久精品大片| 黄色成人在线| 欧美日韩免费在线观看| 欧美一区观看| 亚洲精品专区| 老司机一区二区三区| 亚洲午夜精品福利| 亚洲盗摄视频| 国产毛片精品视频| 欧美二区不卡| 亚洲综合激情| 久久亚洲春色中文字幕| 一区免费观看| 欧美午夜一区二区三区免费大片 | 99精品热视频| 久久综合伊人77777麻豆| 在线综合亚洲欧美在线视频| 国精品一区二区| 欧美亚州在线观看| 暖暖成人免费视频| 久久精品国产77777蜜臀| 日韩视频在线播放| 欧美激情精品久久久久久黑人| 欧美在线一区二区三区| 一本大道久久a久久精二百| 国产主播一区二区三区四区| 欧美午夜在线观看| 欧美精品在线观看91| 裸体一区二区| 久久精品日韩欧美| 欧美亚洲综合久久| 亚洲欧美日韩精品在线| 在线亚洲一区二区| 国产精品欧美久久|