小编Dav*_*nes的帖子

FreeType库和"对FT_Init_FreeType的未定义引用"

来自PHP,这是我第一次使用C/C++(所以对我来说很容易).我正在按照本教程使用FreeType库编写一个简单的脚本.以下编译就好了:

#include <ft2build.h>
#include FT_FREETYPE_H

main() {
    FT_Library library;
    FT_Face face;
}
Run Code Online (Sandbox Code Playgroud)

这告诉我FreeType库随时可供编译器使用.但是,一旦我尝试使用任何方法,事情就会破裂.例如,采用以下脚本:

#include <ft2build.h>
#include FT_FREETYPE_H

main() {

    int error;

    FT_Library library;
    error = FT_Init_FreeType(&library);
    if (error) {}

    FT_Face face;
    error = FT_New_Face(library, "/usr/share/fonts/truetype/arial.ttf", 0, &face);
    if (error == FT_Err_Unknown_File_Format) {
        printf("Font format is unsupported");
    } else if (error) {
        prinft("Font file is missing or corrupted");
    }
}
Run Code Online (Sandbox Code Playgroud)

此脚本在编译时产生以下错误:

#gcc render.c -I/usr/include/freetype2
/tmp/cc95255i.o: In function `main':
render.c:(.text+0x10): undefined reference to `FT_Init_FreeType'
render.c:(.text+0x30): undefined reference to `FT_New_Face'
collect2: …
Run Code Online (Sandbox Code Playgroud)

c linker shared-libraries freetype

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

MySQL:如何更改具有外键约束的字段?

我有两个通过外键约束链接的表。我想更改 ID 字段,但由于外键约束,以下代码失败:

UPDATE A SET id = 1479 WHERE id = 2103;
UPDATE B SET Aid = 1479 WHERE Aid = 2103;
Run Code Online (Sandbox Code Playgroud)

我知道我可以设置ON CASCADE自动执行此操作,但是如何根据具体情况执行此操作?

mysql foreign-keys foreign-key-relationship

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

Rails:有没有办法通过命令行添加关联?

Rails 文档中,我们找到以下示例:

class Physician < ActiveRecord::Base
  has_many :appointments
  has_many :patients, :through => :appointments
end
Run Code Online (Sandbox Code Playgroud)

我只是好奇:是否可以使用命令行生成它rails generate model

command-line model ruby-on-rails

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

强制Backbone将属性保存为文件

有没有办法使用Model.setModel.save以某种方式强制Backbone将数据作为文件发送到服务器(就像你提交带有<input type="file">标签的表单一样?

javascript backbone.js

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

重新渲染子视图后,骨干事件会多次触发

我们有一个由侧边栏和几个子视图组成的Backbone视图.为简单起见,我们决定让侧边栏和子视图由单个render函数控制.但是,click .edit在点击其中一个侧边栏项目后,该事件似乎多次触发.例如,如果我开始"常规"并单击.edit,则hello触发一次.如果我然后单击.profile侧栏并.edit再次单击,则会hello触发两次.有任何想法吗?

视图

events: {
  "click .general": "general",
  "click .profile": "profile",
  "click .edit": "hello",
},

general: function() {
  app.router.navigate("/account/general", {trigger: true});
},

profile: function() {
  app.router.navigate("/account/profile", {trigger: true});
},

render: function(section) {
  $(this.el).html(getHTML("#account-template", {}));
  this.$("#sidebar").html(getHTML("#account-sidebar-template", {}));
  this.$("#sidebar div").removeClass("active");
  switch (this.options.section) {
    case "profile":
      this.$("#sidebar .profile").addClass("active");
      this.$("#content").html(getHTML("#account-profile-template"));
      break;
    default:
      this.$("#sidebar .general").addClass("active");
      this.$("#content").html(getHTML("#account-general-template"));
  }
},

hello: function() {
  console.log("Hello world.");
},
Run Code Online (Sandbox Code Playgroud)

路由器

account: function(section) {
  if (section) { …
Run Code Online (Sandbox Code Playgroud)

javascript backbone.js

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

删除帐单字段时出现WooCommerce错误:“请输入地址以继续。”

我在WooCommerce结帐页面上删除了结算字段,方法是将以下行添加到functions.php

add_filter("woocommerce_checkout_fields", "remove_billing_fields");
function remove_billing_fields($fields) {
    unset($fields["billing"]["billing_first_name"]);
    unset($fields["billing"]["billing_last_name"]);
    unset($fields["billing"]["billing_company"]);
    unset($fields["billing"]["billing_address_1"]);
    unset($fields["billing"]["billing_address_2"]);
    unset($fields["billing"]["billing_city"]);
    unset($fields["billing"]["billing_postcode"]);
    unset($fields["billing"]["billing_country"]);
    unset($fields["billing"]["billing_state"]);
    unset($fields["billing"]["billing_email"]);
    unset($fields["billing"]["billing_phone"]);
    return $fields;
}
Run Code Online (Sandbox Code Playgroud)

这确实会删除开票字段,并根据需要使装运字段保持不变。但是,现在结帐时出现错误:

Please enter an address to continue.
Run Code Online (Sandbox Code Playgroud)

但是,所有运输字段均已填写。该请求正在通过AJAX(/shop/checkout?wc-ajax=checkout)发送。检查请求后,我看到正在发送以下字段:

billing_email:john@example.com
shipping_first_name:John
shipping_last_name:Doe
shipping_address_1:123 Easy St
shipping_address_2:
shipping_country:US
shipping_state:NY
shipping_city:New York
shipping_postcode:12345
billing_phone:123-456-7890
payment_method:stripe
wc-stripe-payment-token:abc123
_wpnonce:abc123
_wp_http_referer:/shop/checkout
Run Code Online (Sandbox Code Playgroud)

请注意,设置帐单字段时,请求确实会通过,因此我相信其他所有设置都正确。任何想法为什么会引发此错误?

wordpress woocommerce

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

Unicode映射到语言

这个问题可能是堆栈溢出的边界,所以如果它看起来过于偏离主题,我会提前道歉.我正在编写一个涉及多种语言的程序,我需要一个将语言映射到Unicode点的表.那些熟悉Unicode的人会知道字符被划分为"块",如拉丁语,西里尔语等.当然,大多数使用拉丁字符的语言不使用所有拉丁字符,大多数使用西里尔字符的语言都是不要使用所有的西里尔字符等.我感兴趣的是一个表格,只将英语映射到英语中使用的字符,西班牙语只用于西班牙语中使用的那些字符等.不需要涵盖世界上的每种语言(如这几乎是不可能的)但至少有一些比较常见的语言.(即便如此,这将是一个涉及多对多关系的相当广泛的表.)我不确定这样的表是否存在.(如果没有,我可以把它变成一个开源项目,因为它对我和其他人都非常有用.)

mapping unicode encoding

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

Rails资产管道不起作用

似乎Rails资产管道在我的开发环境中无法正常运行.我遇到了以下问题:

  1. 除了其他文件之外,还提供清单文件.
  2. 文件没有连接.
  3. 一些提供的文件是完全空的.

这些问题适用于CSS和JavaScript资产.下面是HTML输出的副本(我没有编辑默认的rails布局).请注意清单文件和所有资产(应该连接到单个文件中)的存在.

<!DOCTYPE html>
<html>
<head>
<title>Jackeyes</title>
<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/home.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/universal.css?body=1" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/home.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.waitforimages.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="0AZh7mNJS7R1jsHKyZ5eKBrAON10Jra2677A8Lg3wzw=" name="csrf-token" />
</head>
<body>
Run Code Online (Sandbox Code Playgroud)

我是Rails的新手,所以我不确定如何开始解决这个问题.任何帮助将不胜感激!

ruby ruby-on-rails asset-pipeline

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

使用srcset时如何强制加载较低分辨率的图像

我需要横幅广告才能在许多屏幕尺寸上以全宽显示。为此,我有4个版本的横幅图像。

  1. banner-long@2x.jpg(2880x640)
  2. banner-long.jpg(1440x320)
  3. banner-short@2x.jpg(1440x640)
  4. banner-short.jpg(720x320)

我正在使用该srcset属性。

<img
    src="/images/interface/banner-long.jpg"
    srcset="/images/interface/banner-long@2x.jpg 2880w,
            /images/interface/banner-long.jpg 1440w,
            /images/interface/banner-short@2x.jpg 1439w,
            /images/interface/banner-short.jpg 720w">
Run Code Online (Sandbox Code Playgroud)

但是,如果我从宽浏览器开始,以便加载长版本,然后缩小浏览器的宽度,则短版本将永远不会加载,因为已缓存了长版本。浏览器(Chrome)认为它已经下载了高分辨率版本,因此不必费心加载较小的版本。但是,具有较小版本的要点是长宽比更适合移动设备(即长宽比更小)。我想强制加载较小的图片资源

有什么办法吗?

html image srcset

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

使用 Mapbox GL JS API 未出现标记

我正在关注这些文档,但下面的代码没有呈现标记。任何想法为什么?

mapboxgl.accessToken = "pk.eyJ1IjoiZGlsbHBpeGVsIiwiYSI6ImNqM3A1YWV4czAwa3cyd3BmeWR4OTJ4NGEifQ.atNs-3fdoNghDcrdKwtIkA";
var map = new mapboxgl.Map({
  container: "map",
  center: [-74.50, 40],
  zoom: 6,
  scrollZoom: false,
  style: "mapbox://styles/mapbox/light-v9",
});
map.addControl(new mapboxgl.NavigationControl(), "top-left");
var marker = new mapboxgl.Marker().setLngLat([-74.50, 40]).addTo(map);
Run Code Online (Sandbox Code Playgroud)
#map {
  height: 320px;
}
Run Code Online (Sandbox Code Playgroud)
<link href="//api.mapbox.com/mapbox-gl-js/v0.36.0/mapbox-gl.css" rel="stylesheet"/>
<script src="//api.mapbox.com/mapbox-gl-js/v0.36.0/mapbox-gl.js"></script>
<div id="map"></div>
Run Code Online (Sandbox Code Playgroud)

mapbox mapbox-gl

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