Предположим, у вас есть большой проект, написанный на c ++, который содержит тысячу файлов .cpp и тысячу файлов .h. И давайте предположим, что проект также зависит от десяти статических библиотек. Скажем, мы работаем над Windows, и мы строим наш проект в Visual Studio 20xx. Когда вы нажимаете Ctrl + F7 Visual Studio, чтобы начать компиляцию всего решения (предположим, что у нас есть только один проект в решении)
В чем смысл компиляции?
Второй этап компиляции выполняется Linker.Linker должен объединить весь объектный файл и построить окончательно вывод (который может быть исполняемым или библиотекой)
Шаги при связывании проекта
error LNK2001: unresolved external symbol "void __cdecl foo(void)" (?foo@@YAXXZ)
Наблюдение
Как решить эту ошибку
Ошибка времени компилятора:
Ошибка времени компоновщика
#pragma once
, чтобы компилятор не включал один заголовок если он уже был включен в текущий .cpp, который скомпилирован Слэш - это разделитель дат, поэтому он будет использовать текущий разделитель даты культуры.
Если вы хотите жестко запрограммировать его, чтобы всегда использовать слэш, вы можете сделать что-то вроде этого:
DateTime.ToString("dd'/'MM'/'yyyy")
Тупой вопрос / ответ, возможно, но вы пробовали dd/MM/yyyy
? Обратите внимание на капитализацию.
mm
для минут с начальным нулем. Поэтому я сомневаюсь, что это то, что вы хотите.
Это может быть полезно: http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm
Pass CultureInfo.InvariantCulture как второй параметр DateTime, он вернет строку так, как вы хотите, даже очень специальный формат:
DateTime.Now.ToString("dd|MM|yyyy", CultureInfo.InvariantCulture)
вернется: 28 | 02 | 2014
Добавить CultureInfo.InvariantCulture
в качестве аргумента:
using System.Globalization;
...
var dateTime = new DateTime(2016,8,16);
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
Вернет:
"16/08/2016"