发布于 

OpenSSL: 用VS2017创建C工程

简介

该系列文章给大家(主要是刚接触Visual Studio工具的C开发者)带来使用开发工具Visual Studio 2017进行OpenSSL编程,包括base64,AES、DES和RSA加解密等内容。

对于C/C++的编程,我工作之后基本都是在Linux上面写,很少在Windows上面耕耘。最近收到几个小伙伴的邮件,有请教如何在Windows上面进行C编程的,也有问关于OpenSSL的基础知识的。说实话我也不是很熟悉Windows上面的C编程,但凭借着一股自信还是硬着头皮实践了一把,算是给大家一个交待。

在这里非常感谢网名为“为C奋斗”的建议,也感谢网上开源代码的作者们,如果没有他们的贡献,我可能根本坚持不下来把这些知识做以总结和分享。

写文不易,挑灯夜战,如果文中有任何错误之处还望大家不吝赐教。

该系列文章中相关代码我都托管在Github上面了,点击 c-openssl 可以获取。

创建C工程

这部分介绍如何在Visual Studio 2017中创建C工程。

打开Visual Studio 2017,选择File/New/Project...,紧接着完成下面截图中的步骤即可完成工程创建。

点击OK稍等几秒就可以完成工程的创建,创建成功之后,该工程是一个空工程没有任何源文件,如图:

创建C文件

该部分介绍如何在工程中手动创建C文件。

需要手动创建C源码文件,右键点击 Source Files

注意:源码后缀是.c,不是.cpp.

创建完成后,打开 mzc_base64.c 写上一段简单的代码,测试一下是否正常。

1
2
3
4
5
6
7
8
#include <stdio.h>

int main()
{
printf("Hello OpenSSL, I'm coming.\n");

return 0;
}

直接使用快捷键 Ctrl+F5 运行程序,可以看到弹出了系统的命令行并显示运行结果,截图如下:

至此在Visual Studio 2017中成功创建了C工程 =:)

遇到的问题

有不少小伙伴跟我说,他们在创建的过程中遇到了这样或者那样的问题,我总结了一下分享给有需要的人。

1、没有找到Windows Desktop选项

这种情况应该是没有在 Visual Studio 2017 中安装桌面开发组件,如图操作:

打开 Visual Studio Inistaller 安装通用Windows平台开发组件,如图:

安装完成后,再重新创建工程就有了该选项。

2、编译错误,找不到printf函数

出现这种错误,大部分原因是没有安装 Windows10 SDK。打开 C:\Program Files (x86)\ 目录,看看是否有 Windows Kits 目录。

如果没有,就点击 Windows10 SDK 下载,安装完成后,重新创建工程就可以了。

如果有该目录,在工程属性中设置一下,如图:

打开属性视图,如下:

配置你正确的 Windows10 SDK 目录即可,我安装的是下面的版本:

3、无法访问头文件

点击系统库的头文件,显示如下提示:

在头文件上面右键,可以看到跳转的几个选项都是不可用的状态,如下图:

出现这样的情况不要怕,这是VS的病,只能等Microsoft去根治了。我们使用 Open Document 代替,快捷键是Ctrl+Shift+G,一样可以打开对应的头文件。


生命不是要超越别人,而是要超越自己~


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

veryitman