Visual Studio 配置 OGDF 图布局算法库

项目主页:http://www.ogdf.net/

开源 (GNU/GPL),有不错的示例、文档(都是英文的←_←)

主要步骤:下载源码, 编译安装, 配置工程, have fun!

Step1>>下载源码

  • http://www.ogdf.net/doku.php/tech:download
  • Current Release: v. 2015.05 (Baobab) [5.4 MB]

Step2>>编译安装

  • 执行 makeVCXProj.py 脚本:生成 VS 工程 ogdf.vcxproj, coin.vcxproj 和解决方案 ogdf.sln。不需要 cmake,但是……好像需要个 python 解释器
  • 用 VS 打开 ogdf.sln,“生成解决方案”。
  • 你会得到一些 lib、obj 文件。我的在 OGDF\Win32\Debug 目录下

Step3>>配置工程

  • 添加包含目录、库目录
    • 在解决方案管理器中右击你的工程,属性。配置属性>VC++目录:
    • 在“包含目录”中添加 OGDF\include
    • 在“库目录”中添加 ogdf.lib、coin.lib这两个文件所在的目录(上一小步中的 OGDF\Win32\Debug)
    • 也可以将以上路径添加到相应环境变量中
  • 为链接器附加库 ogdf.lib、coin.lib
    • 还在工程属性对话框中,配置属性 > 链接器 > 输入,在“附加依赖项”中添加“ogdf.lib;coin.lib;”。
    • 也可写在源代码文件里,
      #pragma comment(lib,"C:/blablabla/ogdf.lib")
      #pragma comment(lib,"C:/blablabla/coin.lib")

Step4>>hello world

#include 
using namespace ogdf;

int main(){
Graph G;
node a = G.newNode(); 
node b = G.newNode(); 
node c = G.newNode();
G.newEdge(a, b); 
G.newEdge(b, c); 

GraphAttributes GA(G);

FMMMLayout fmmm; 
fmmm.call(GA);

cout << GA.x(a) << ", " << GA.y(a) << "; \n";
cout << GA.x(b) << ", " << GA.y(b) << "; \n";
cout << GA.x(c) << ", " << GA.y(c) << "; \n";
return 0;
}
//代码很丑陋,这只是个hello world,莫吐槽

一次运行的结果:

25, 25;
59, 60;
93, 93;
请按任意键继续. . .

(完)

屏蔽 KMPlayer 自动更新提示

add to hosts: 127.0.0.1 cdn.kmplayer.com

以管理员身份运行记事本,打开 C:\Windows\System32\drivers\etc\hosts 文件,在其中加入一行:

127.0.0.1 cdn.kmplayer.com

即可。在 KMPlayer 3.9.0 测试成功。

该方法可以用于很多软件。如果你想屏蔽自动更新或广告,同时不影响其他在线功能,修改 hosts 文件屏蔽特定域名不失为一个比使用 Windows 防火墙或 360 安全卫士等禁止程序访问网络更好的办法。

需要屏蔽的域名可以用 Wireshark 等截包软件得到。
(完)

同性婚姻合法化之后……?

以下内容为虚构,如有雷同,纯属巧合。

0. 全国人大常委会表决通过了《关于修改〈中华人民共和国婚姻法〉的决定》,修改了“婚姻”的定义,同性婚姻正式在中国合法化。
1. 一时间,社交媒体上充满了 #真爱无敌# 的欢呼声,以及七彩颜色的头像。反对者的声音被淹没在欢呼雀跃的汪洋大海之中。
2. 在舆论狂轰滥炸之下,当地政府终于迫于压力以一纸行政命令取缔玉林狗肉节。
3. 公知们高强度洗脑,使得动物权利的理念深入人心。《中华人民共和国动物保护法》出台,明文禁止吃狗肉。
4. “老汉防卫过当打死流浪狗 行政拘留15日”,消息一出,人人自危,出门遇狗敬礼磕头,敬而远之。
5. 新的《宪法修正案》将宪法第33条第3款“国家尊重和保障人权”修改为“国家尊重和保障人权、狗权”。
6. 随着抚养成本的不断升高,年轻人的生育意愿不断降低。饲养宠物狗的比例大幅攀升,人们希望人狗之间的亲密关系得到法律保护。
7. 《收养法》修订后,法律上,狗可以成为家庭的一员了。狗也需承担相应赡养义务,主要是“在任何情况下都要及时捡回主人扔出的球”。
8. 《婚姻法》再度修改,人兽婚姻合法化。
9. 一时间,社交媒体上充满了 #真爱无敌# 的欢呼声,以及七彩颜色的头像。

(完)